给定某个事件(例如,单击按钮),我想为特定选择框禁用 Chosen.js。
这可能吗?
尽管不需要单击按钮,但我也有类似的要求,我只是想为特定选择框启用/禁用选择。
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));
}
});
}
});
例如,您有一个带类的选择,no-chosen
您可以这样做:
$("select:not('.no-chosen')").chosen();
这意味着它需要所有选择,除了没有选择的类。