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

Jquery 使用select2 4.0进行选择时激发回调,并检索上次选择的值,jquery,jquery-select2,jquery-select2-4,Jquery,Jquery Select2,Jquery Select2 4,我使用的是最新版本的Select2(4.0),无法确定如何在进行选择时触发事件,以及如何检索上次选择的值(在使用可进行多个选择的选择框时) 在旧版本的Select2中,如果我没记错的话,插件所连接的Select2的“onchange”事件在进行选择时被触发,但在Moment时不起作用 当选择框的选择发生变化时,我成功地启动了一个javascript函数,但还不能确定最后选择的id。我是这样做的: jQuery("#select2_holder").on("change", function(e)

我使用的是最新版本的Select2(4.0),无法确定如何在进行选择时触发事件,以及如何检索上次选择的值(在使用可进行多个选择的选择框时)

在旧版本的Select2中,如果我没记错的话,插件所连接的Select2的“onchange”事件在进行选择时被触发,但在Moment时不起作用

当选择框的选择发生变化时,我成功地启动了一个javascript函数,但还不能确定最后选择的id。我是这样做的:

jQuery("#select2_holder").on("change", function(e) { 
        console.log(arguments);
});
我还尝试记录参数,但也找不到所需的信息

我已经阅读了官方网站上的文档,但是在其中找不到任何关于回调函数的内容

这里有没有人能给我指出正确的方向


谢谢大家!

Select2提供
Select2:select
事件,该事件可在选择新值时触发。对于单个select,这相当于
change
,并包含一些额外的元数据

您可以使用
evt.data
获取所选数据对象,其中
evt
是传递到事件处理程序的第一个参数

jQuery("#select2_holder").on("select2:select", function (evt) {
  console.log(evt.data);
});
你可以找到这些事件的一个活生生的例子


在旧版本的Select2中,如果我没记错的话,插件所连接的Select2的“onchange”事件在进行选择时被触发,但在Moment时不起作用


这是正确的,在select23.x中,我们用来修改标准
change
事件,并在其上添加一些额外的属性。由于(不幸的是)这种情况并不一致,而且当人们想要手动触发
更改时会导致问题,因此我们不在Select2 4.0中修改标准
更改
事件。

上一个示例很好,但有一个错误: 需要使用
select2:selection而不是
select2:select

所以我们有

jQuery("#select2_holder").on("select2:selecting", function (evt) {
  console.log(evt);
});

谢谢你的及时回复!