1

特定のイベント (ボタン クリックなど) が発生した場合、特定の選択ボックスに対して Chosen.js を無効にしたいと考えています。

これは可能ですか?

4

2 に答える 2

1

ボタンをクリックする必要はありませんが、同様の要件がありました。特定の選択ボックスに対してChosenを有効/無効にしたかっただけです。

select私の解決策は、 Chosen を使用したくない要素ごとに、CSS クラスを追加すること'no-chzn'です。次にchosen.jquery.js、次の行をコンストラクターに追加します (これは、バージョン 1.1.0 の 533 行目付近です)。

$.fn.extend({
    chosen: function(options) {
      if (!AbstractChosen.browser_is_supported()) {
        return this;
      }
      return this.each(function(input_field) {
        var $this, chosen;
        $this = $(this);
        if ($this.parent().hasClass("chosen-disable")) { return; } // Just add this line!
        chosen = $this.data('chosen');
        if (options === 'destroy' && chosen) {
          chosen.destroy();
        } else if (!chosen) {
          $this.data('chosen', new Chosen(this, options));
        }
      });
    }
  });
于 2013-05-19T18:52:44.470 に答える
0

たとえば、select with class がno-chosenあり、次のようにします。

$("select:not('.no-chosen')").chosen();

これは、クラスが選択されていないものを除くすべての選択を取得することを意味します。

于 2018-12-06T16:18:35.513 に答える