1

我有以下代码:

$("#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,
        });
    }
});

maximumSelectionLength一旦我选择了 5 个项目并且该属性将正常工作,这实际上将关闭下拉列表。但现在这closeOnSelect是真的,所以每次我选择一些东西时,下拉菜单都会关闭。

有没有办法切换closeOnSelect

4

1 回答 1

7

这应该可以正常工作。

  $("#select2").change(function(){
      var ele = $(this);
      if(ele.val().length==5)
      {
        ele.select2('close');
      }
  });
于 2016-02-03T22:00:59.280 回答