Javascript 选择2“更改”事件不会第一次触发

Javascript 选择2“更改”事件不会第一次触发,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我在页面上选择了2个Javascript小部件 $“订单地址选择”。选择2{ 占位符:选择地址, 阿贾克斯:{ url:“/order/getplacemarklist”, 数据类型:“json”, }, 标签:是的, }; 当我输入一些文本时,如果在数据库中找不到并且没有通过ajax加载,我可以选择它,因为属性标记被设置为true。然后我有以下代码 $“订单地址选择”。更改功能{ 警报$order\u address\u select选项[data-select2-tag='true'].va

我在页面上选择了2个Javascript小部件

$“订单地址选择”。选择2{ 占位符:选择地址, 阿贾克斯:{ url:“/order/getplacemarklist”, 数据类型:“json”, }, 标签:是的, }; 当我输入一些文本时,如果在数据库中找不到并且没有通过ajax加载,我可以选择它,因为属性标记被设置为true。然后我有以下代码

$“订单地址选择”。更改功能{ 警报$order\u address\u select选项[data-select2-tag='true'].val; };
问题是,当我键入文本并将其选择为标记时,事件不会第一次触发。但当我再次键入文本并选择它时,代码会提醒以前选择的选项的值。例如:我输入aaa,选择它,什么都没有发生,然后我输入bbb,选择它,并在我的更改处理程序中获得aaa警报,我得到所选选项

var data = $(this).select2("data")[0];
像这样:

$selectXXXXX.on('change', function (e) {
        var data = $(this).select2("data")[0];
        var cfg = configuraciones[data.id];
        app.usersFocusChange(data.id, cfg); 
});

在我的更改处理程序中,我得到所选的选项

var data = $(this).select2("data")[0];
像这样:

$selectXXXXX.on('change', function (e) {
        var data = $(this).select2("data")[0];
        var cfg = configuraciones[data.id];
        app.usersFocusChange(data.id, cfg); 
});

所以,如果有人感兴趣,我在select2 github存储库中找到了解决方案,您只需在存储库中添加一个空的。然后它会很好地工作

所以,如果有人感兴趣,我在select2 github repository上找到了解决方案,您只需要在存储库中添加一个空的。然后它就可以正常工作了

您可以通过操作html来解决它:

$'yourselect2'。添加您的\u文本;
您可以通过操作html来解决此问题:

$'yourselect2'。添加您的\u文本;
此示例也仅适用于第二个选择。顺便说一句,它可以很好地处理从数据库加载的值。该示例也仅在第二次选择时触发。顺便说一句,它可以很好地处理从数据库加载的值