我有以下代码:
$("#select2").select2({ closeOnSelect: false,
maximumSelectionLength: 5,
... // I have AJAX implemented here
});
当我closeOnSelect
成为false
并设置maximumSelectionLength
时,我可以毫无问题地选择5个以上的项目。当我点击下拉菜单同时选择了超过5个项目时,我尝试添加另一个项目,我收到消息"您只能选择5个项目"。
是否有任何变通方法让这两个属性协同工作而不会发生冲突?
我目前正在使用Select2 4.0.1。
更新
我接受了pratikwebdev的建议,并添加了以下代码:
$("#select2").select2({ closeOnSelect: false,
maximumSelectionLength: 5,
... // I have AJAX implemented here
}).on("change", function(e) {
if(e.target.length == 5) {
$("#select2").select2({closeOnSelect: true,
maximumSelectionLength: 5,
});
}
});
这实际上会在我选择5个项目并且maximumSelectionLength
属性正常工作后关闭下拉列表。但现在closeOnSelect
是正确的,因此每次选择某些内容时,下拉列表都会关闭。
有没有办法切换closeOnSelect
?
答案 0 :(得分:5)
这应该可以正常工作。
$("#select2").change(function(){
var ele = $(this);
if(ele.val().length==5)
{
ele.select2('close');
}
});