我在我的网站上使用Select2,我试图使用select2-selecting
事件,但它没有触发。我还在应用程序中使用Backbone.js,所以我尝试的第一件事是将select2-selecting
添加到我的events
对象中:
// 'change .city':'cityChanged'
'select2-selecting .city':'cityChanged'
注意,我已经注释掉了一个change
事件--这个change
事件正常工作。在Select2的文档中,select2-selecting
事件直接放在对象上,而不是这样:
$('.city').select2().on('select2-selecting', function(e){
console.log('here');
});
相反,它应该像这样使用:
$('.city').on('select2-selecting', function(e){
console.log('here');
});
我也尝试以这两种方式添加事件,但事件没有触发(我在添加事件之前在DOM 上检查并创建了元素)。
当我用Backbone.js在第一个方法中添加事件时,该事件将在chrome调试控制台中的事件侦听器中列出--它不会被触发。有人知道这是怎么回事吗?
发布于 2013-07-10 14:26:01
您使用的是什么版本的select2
?
我也遇到了同样的问题,直到我意识到我使用的是这个select2-selecting
事件不存在的3.3版本。
这已列入3.4版。
发布于 2015-10-05 16:40:26
早期版本也发生了更改,其中更改了名称:
发布于 2017-03-16 13:52:33
在更早的版本中,'select2-removed‘和'select2-removing’事件列在@的应答中,并不存在。取而代之的是“删除了”。此外,要获得受影响的optioin值,请使用“event.val”。
所以你可以这样做:
$('.select').on('select2-selecting removed', function(evt) {
var value = evt.val; //do something with this
});
检查到3.4.3。
https://stackoverflow.com/questions/17550813
复制相似问题