Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么使用allowClear在select2中不触发select2删除事件?_Javascript_Jquery_Jquery Select2 - Fatal编程技术网

Javascript 为什么使用allowClear在select2中不触发select2删除事件?

Javascript 为什么使用allowClear在select2中不触发select2删除事件?,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我想在我的网站上挂起一个事件,一旦它被清除。select2是用allowClear:true初始化的。然而这件事 $select.on('select2-removed', function(event) { console.log(event); }); 使用清除按钮重置select2时不会触发。我在使用清除按钮时使用的是'select2-removed'-事件,而不是'select2-removing' 至于它为什么不触发,我仍然不明白。根据select2源代码,clear方法使用

我想在我的网站上挂起一个事件,一旦它被清除。select2是用
allowClear:true
初始化的。然而这件事

$select.on('select2-removed', function(event) {
    console.log(event);
});

使用清除按钮重置select2时不会触发。

我在使用清除按钮时使用的是
'select2-removed'
-事件,而不是
'select2-removing'


至于它为什么不触发,我仍然不明白。

根据select2源代码,
clear
方法使用事件
select2 clearing
而不是
select2 removing
。所以你也应该听听这个事件

select2 clearing
select2 removing
在删除之前被触发<代码>选择2已删除在之后触发


请记住,
clear
并不总是触发
select2 removed
事件。看起来只有从输入中删除元素时才会触发此事件。

对我来说,唯一有效的是
'select2:unselect'
事件。。。(在非多重选择框中)

选择2 v4.0.3

$('#smartsearch').on('select2:unselecting', function (e) {
    alert('You clicked on X');
});

对于所有的

,我想获取关于元素在移除事件中被移除的数据。下面的代码为我工作

 $('#selector').on('select2:unselect', function (e) {
        var data = e.params.data;           
    });

如果您使用的是4或更高版本,请使用

$('#id').on('select2:unselecting', function (e) {
    alert('You clicked on X');
});
低于4版本

$('#id').on('select2-removing', function (e) {
    alert('You clicked on X');
});
确保对于4或更高版本,它是选择2:unselecting冒号(:)

少于4个版本,选择2删除(连字符)

@Jatt.net Nope。我没有。但一旦我这么做了,我就想,见鬼,我可能会在上面加一个问题来缓解我的痛苦;)作为补充,
取消选择
在删除选择之前激发,
取消选择
在删除选择时激发。