30

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

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

4

12 回答 12

64

只是一个快速的跟进:我注意到在功能

AbstractChosen.prototype.set_default_values

从变量中读取

this.options.disable_search

所以你可以禁用搜索字段

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

不使用固定数量的阈值。

于 2012-10-29T19:38:19.447 回答
45
$(".chzn-select").chosen({disable_search_threshold: 3});

如果 select 的元素个数小于 disable_search_threshold (这里是 2 和更少),则不会显示搜索框。

于 2012-04-10T17:27:27.937 回答
11

好吧,我也尝试了文档但没有运气,所以我终于解决了这个问题

$('.chzn-search').hide();

在我调用选择后,我执行上述操作。希望这可以帮助

于 2012-04-06T20:04:44.197 回答
5

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

.chzn-select { display: none }

或者,对于单个元素,我指定元素并附_chzn加到目标。

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

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

#element_id_chzn .chzn-select { display: none; }
于 2012-09-12T15:05:45.333 回答
3

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

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

旧版本不支持此选项。如果您严格不允许使用比您可以使用的新版本,一些方法

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

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

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

初始化后立即调用 hide,不知道为什么这个技巧有效,但它正在做你想做的事!

我建议您使用最新版本,以便您可以访问最新选项。

希望对你有帮助!

于 2015-10-06T10:15:16.930 回答
2

使用此代码禁用它:

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

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

.chzn-search{display: none}
于 2013-07-05T05:46:25.740 回答
2

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

$('#myDropDown').chosen({ disable_search_threshold: 10 });
于 2013-09-19T12:10:45.580 回答
2
$('select').chosen( {disable_search: true} );
于 2014-07-15T21:39:38.313 回答
1

由于隐藏多个选择的搜索字段的选择设置似乎都不起作用,我将第 577 行中的 selected.jquery.js 破解为:

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

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

this.search_field[0].disabled = false;

对我来说工作得很好——即使它不是破解代码的最佳实践。

于 2014-03-19T11:28:24.180 回答
0

使用仅适用于我的最新版本:

$('ul.chosen-choices li.search-field').hide();
于 2013-08-28T10:30:12.050 回答
0

我用 jQuery('select').chosen( {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 ({ '宽度': '23px' }); result_select 因为“数据占位符”

对我来说工作得很好。

于 2013-11-20T09:59:49.590 回答
0
disable_search:true,

这是所选 jquery 插件的文档

于 2014-01-07T10:08:58.523 回答