是否可以为特定选择框禁用selected.js?

时间:2013-02-08 17:41:20

标签: html-select jquery-chosen

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

这可能吗?

2 个答案:

答案 0 :(得分:1)

我有类似的要求,虽然它不需要点击按钮,我只想启用/禁用特定选择框的选择。

我的解决方案适用于您不想使用的每个select元素,添加CSS类'no-chzn'。然后在chosen.jquery.js中,将以下行添加到构造函数中(这位于line 533 in version 1.1.0附近):

$.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));
        }
      });
    }
  });

答案 1 :(得分:0)

例如,您有一个类别为no-chosen的select,您可以这样做:

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

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