1

次のコードがあります。

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

セットを持っていなけれcloseOnSelectばならないときは、問題なく5つ以上のアイテムを選択できます。5 つ以上の項目を選択しているときにドロップダウンをクリックして別の項目を追加しようとすると、「選択できる項目は 5 つだけです」というメッセージが表示されます。falsemaximumSelectionLength

これら 2 つのプロパティを衝突させずに連携させるための回避策はありますか?

現在 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か?

4

1 に答える 1

7

これはうまくいくはずです。

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