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

标签 javascript jquery jquery-select2-4 jquery-select2

我有以下代码:

$("#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

最佳答案

这应该可以正常工作。

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

关于javascript - 如何在 Select2 中的 closeOnSelect 为 false 时设置 maximumSelectionLength?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35165028/

相关文章:

browserify - jquery-select2 版本 4.x 的 npm browserify 版本

css - Yii2:如何更改 Select2 小部件的字体系列

javascript - PhoneGap 应用程序上 Apache Cordova 的 Windows Azure 通知中心插件 - WindowsAzure 未定义

javascript - 有没有办法在 Javascript 中按行号将 CSV 数据存储在数组中?

javascript - 从选择菜单更改更新 HTTP GET 请求

jquery - 将标题添加到现有图像 slider

javascript - JavaScript 样式注释必须位于脚本标签之间吗?

javascript - 两个几乎相同的功能。一个函数使用 Queue 排队。Jquery 效果不适用于排队的函数。为什么?

javascript - 从列表中仅检索一个表行

jquery - 如何禁用使用 select2 v4.0 创建新标签?