我正在使用最新版本的 Select2 (4.0),并且无法找出如何在进行选择时触发事件,并检索最后选择的值(在使用可以进行多项选择的选择框时) .
在旧版本的 Select2 中,如果我没记错的话,在进行选择时会触发附加插件的选择的“onchange”事件,目前这不起作用。
当选择框选择更改时,我已成功触发 JavaScript 函数,但尚无法找出最后选择的 ID。我是这样做的:
jQuery("#select2_holder").on("change", function(e) {
console.log(arguments);
});
我也尝试过记录参数,但我也找不到所需的信息。
我翻遍了官网的文档,没有找到关于回调函数的内容。
这里有人可以为我指明正确的方向吗?
谢谢!
最佳答案
Select2 提供 select2:select
事件,每当选择新值时都会触发该事件。对于单个选择,这相当于包含一些额外元数据的更改
。
您可以使用 evt.data
获取选定的数据对象,其中 evt
是传递到事件处理程序中的第一个参数。
jQuery("#select2_holder").on("select2:select", function (evt) {
console.log(evt.data);
});
您可以找到事件的实时示例 in the Select2 examples .
In older versions of Select2, if I remember correctly, the "onchange" event of the select to which the plugin was attached fired when a selection was made, this doesn't work at the momment.
这是正确的,在 Select2 3.x 中,我们曾经修改标准 change
事件并在其上添加一些额外的属性。由于(不幸的是)这从来都不一致,并且当人们想要手动触发 change
时会导致问题,因此我们不会修改 Select2 4.0 中的标准 change
事件。
关于jquery - 使用 select2 4.0 进行选择时触发回调,并检索上次选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29376121/