【发布时间】:2016-02-02 22:27:58
【问题描述】:
我有以下代码:
$("#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?
【问题讨论】:
-
当用户在下拉列表中选择任何值时,尝试是否可以触发
change事件。 -
@pratikwebdev 我试图在选择值时触发更改事件,但我不确定当长度达到 5 时如何关闭下拉列表。有什么想法吗?
-
查看解决方案是否适合您。
标签: javascript jquery jquery-select2 jquery-select2-4 select2