1

给定某个事件(例如,单击按钮),我想为特定选择框禁用 Chosen.js。

这可能吗?

4

2 回答 2

1

尽管不需要单击按钮,但我也有类似的要求,我只是想为特定选择框启用/禁用选择。

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

例如,您有一个带类的选择,no-chosen您可以这样做:

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

这意味着它需要所有选择,除了没有选择的类。

于 2018-12-06T16:18:35.513 回答