没有搜索字段的jQuery Chosen插件

时间:2012-04-06 19:28:09

标签: javascript jquery jquery-plugins jquery-chosen

不确定是否已在某处覆盖,但我在文档中找不到它,并且想知道是否可以不包含带有jQuery选择插件的搜索输入框(用于设置选择输入的样式) )。具体来说,我想使用没有它的标准选择。

http://harvesthq.github.com/chosen/

12 个答案:

答案 0 :(得分:62)

快速跟进:我注意到功能

AbstractChosen.prototype.set_default_values

读取变量
this.options.disable_search

因此您可以使用

禁用搜索字段
jQuery('select').chosen( {disable_search: true} );

不使用固定数量的阈值。

答案 1 :(得分:43)

$(".chzn-select").chosen({disable_search_threshold: 3});

如果select的元素数小于disable_search_threshold(此处为2及更少),则不会显示搜索框。

答案 2 :(得分:11)

好吧,我也试过了文档,没有运气,所以我最终修复了这个

  

$( 'chzn的搜索。')隐藏();

在我打电话给我之后,我会做上述事情。 希望这有帮助

答案 3 :(得分:5)

我在样式表中添加了一个类。

.chzn-select { display: none }

或者,对于单个元素,我指定元素并附加_chzn来定位它。

#element_chzn .chzn-select { display: none; }

请注意:选择会将元素ID和类中的连字符转换为下划线,因此要定位到您需要的element-id

#element_id_chzn .chzn-select { display: none; }

答案 4 :(得分:3)

选择的较新版本的jquery为您提供了在下拉列表中禁用搜索输入的选项。

$(".chzn-select").chosen({
   disable_search: true
});

旧版本不支持此选项。一些如何严格禁止使用比您可以使用的更新版本

$(".chzn-select").chosen({
   disable_search_threshold: 5
});

如果结果小于5,它将隐藏搜索框,最好与性别类型下拉列表一起使用。还有另一种解决方法,那就是;

$(".chzn-select").chosen();
$(".chzn-select").hide();

初始化后立即呼叫隐藏,不知道为什么这个技巧有效,但它正在做你想要的!

我建议您使用最新版本,以便获得最新选项。

希望它适合你!

答案 5 :(得分:2)

使用此代码禁用它:

jQuery('select').chosen( {disable_search: true} );

并且不要忘记隐藏它,否则它仍将在移动设备上运行!

.chzn-search{display: none}

答案 6 :(得分:2)

disable_search_threshold选项会隐藏单个选择下拉列表的搜索框。传入的数字指定在显示搜索框之前要允许的项目数。如果您不想使用搜索框,只需将其设置为比它将包含的项目数量更多的数字。

$('#myDropDown').chosen({ disable_search_threshold: 10 });

答案 7 :(得分:2)

$('select').chosen( {disable_search: true} );

答案 8 :(得分:1)

由于用于隐藏多个选择的搜索字段的所选设置似乎都没有工作,我将第577行中的selected.jquery.js攻击为:

<li class="search-field"><span class="placeholder">' + this.default_text + '</span></li>

(跨度而不是输入字段)。还需要注释掉这一行

this.search_field[0].disabled = false;

对我来说工作正常 - 即使它不是破解代码的最佳做法。

答案 9 :(得分:0)

选择的最新版本仅对我有用:

$('ul.chosen-choices li.search-field').hide();

答案 10 :(得分:0)

我使用了jQuery('select')。selected({disable_search:true});但是在chrome profiler上,无论如何都调用了search_field_scale方法并且吃掉了很多性能。

所以我删除了方法和所有对他的调用,并在show_search_field_default上替换为this.search_field.css({'width':'100%'}),并将style = 25px替换为style:100% 然后 this.search_field.css({'width':'23px'}); result_select因为“数据占位符”

对我来说很好。

答案 11 :(得分:0)