jquery - 使用 select2 4.0 进行选择时触发回调,并检索上次选择的值

标签 jquery jquery-select2 jquery-select2-4

我正在使用最新版本的 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/

相关文章:

javascript - 如何在 Select2 中的 closeOnSelect 为 false 时设置 maximumSelectionLength?

javascript - 没有 AMD 的 Select2 自定义数据适配器

javascript - Aurelia 试图从 Select2 加载 HTML?

jquery-select2 - 如何根据选项类别动态过滤 select2 列表

jquery - 仅将鼠标悬停在 1 个具有相同 jquery 类的元素上

javascript - jquery 等待多个完成事件

javascript - 更改页面元素后出现 window.print 问题

javascript - 将 css-background 图像与 img 元素一起使用

javascript - Select2 始终显示占位符

javascript - Select2下拉css修改