如何在 Select2 中的 closeOnSelect 为 false 时设置 maximumSelectionLength?

How can I set maximumSelectionLength while closeOnSelect is false in Select2?

我有以下代码:

$("#select2").select2({ closeOnSelect: false,
                        maximumSelectionLength: 5,
                        ...  // I have AJAX implemented here
                      });

当我将 closeOnSelect 设置为 false 并设置 maximumSelectionLength 时,我可以毫无问题地 select 超过 5 个项目。当我在有超过 5 个项目 selected 的情况下单击远离下拉列表并尝试添加另一个时,我收到消息 "You can only select 5 items".

是否有任何解决方法可以让这两个属性一起工作而不发生冲突?

我目前使用的是 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,
        });
    }
});

这实际上会在我 select 5 个项目后关闭下拉菜单,并且 maximumSelectionLength 属性 将正常工作。但现在 closeOnSelect 为真,所以每次我 select 时,下拉菜单都会关闭。

有没有办法切换closeOnSelect

这应该可以正常工作。

  $("#select2").change(function(){
      var ele = $(this);
      if(ele.val().length==5)
      {
        ele.select2('close');
      }
  });