Javascript Jquery select2:如何触发取消选择事件
我试图在select2选择框上触发取消选择事件Javascript Jquery select2:如何触发取消选择事件,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我试图在select2选择框上触发取消选择事件 $("select.js-example-basic-multiple").trigger({ type:'select2:unselect', params:{ data:e } }); 事件处理程序如下所示 $('body').find('.js-example-basic-multiple').on("select2:unselect", function (e) { var data
$("select.js-example-basic-multiple").trigger({
type:'select2:unselect',
params:{
data:e
}
});
事件处理程序如下所示
$('body').find('.js-example-basic-multiple').on("select2:unselect", function (e) {
var data = e.params.data;
$('body').find('select.js-example-basic-multiple option:contains("'+data.element.text+'")').prop("disabled",false).end().find('select.js-example-basic-multiple').select2('destroy').select2();
});
在事件处理程序中,我使用e.params.data.element.text,这是默认值
当我触发事件时,我不知道要传递什么作为数据
我试过了
e = {
'params':{
'data':{
'element':{
'text':$text
}
}
}
};
此处文本是所选选项的文本值
我得到以下错误:
未捕获的TypeError:无法读取中未定义的属性“text”
事件处理程序
故事
最初我只有一个select2选择框。如果用户单击添加新按钮,我将销毁第一个select2选择框上的select2,并在两个选择框上克隆、追加和再次应用select2。。每次用户单击添加新按钮时都会发生这种情况
在一个select2框中选择的选项不应在其他select2框中选择。
在一个select2选择框中取消选择的选项可以在其他任何一个select2选择框中选择
每次触发选择和取消选择事件时,我都会更新选择框
例如:
触发取消选择事件时。手动取消选择所选选项时
$('body').find('.js-example-basic-multiple').on("select2:unselect", function (e) {
var data = e.params.data;
$('body').find('select.js-example-basic-multiple option:contains("'+data.element.text+'")').prop("disabled",false).end().find('select.js-example-basic-multiple').select2('destroy').select2();
});
我的问题是新创建的select2选择框有删除按钮。此移除按钮移除整个选择框,此时我需要更新所有其他select2选择框。问题是这不会触发任何事件。我们需要手动更改它。只需取消选择
选项
元素,然后在select
上触发change()
事件,可能会容易得多。选择2,然后应选择更改itself@RoryMcCrossan bro我用故事部分更新了我的问题。请读一下。