对于更重要的选择,Select2中的搜索框非常棒。然而,在一个例子中,我有4个简单的硬编码选项。在这种情况下,搜索框是多余的,而且看起来有点傻。有没有办法把它藏起来?我在网上查阅了文档,在构造函数中找不到任何选项。

当然,我可以只使用常规的HTML选择,但为了保持一致性,如果可能的话,我希望使用Select2。


当前回答

我编辑了select2.min.js文件,将生成的select-2__search输入字段设置为readonly="true"。

其他回答

为了防止有人无意中发现这一点,现在在构造函数中有一个hideSearch选项,它似乎更接近问题所寻找的东西。

回声Select2::小部件(['名字' = >“状态”,“hideSearch”= > true,“数据”= >[1 = >“活跃”,2 = > '活动']]);

@Misha Kobrin的回答很适合我,所以我决定多解释一下

你想隐藏搜索框,你可以通过jQuery来实现。

例如,你已经初始化了select2插件在一个下拉列表中有id受众

element_select = '#audience';// id or class
$(element_select).select2("close").parent().hide();

该示例适用于select2工作的所有设备。

如果你有多个属性在你的选择,这个肮脏的hack工作:

var multipleSelect = $('select[name="list_type"]');
multipleSelect.select2();
multipleSelect.parent().find('.select2-search--inline').remove();
multipleSelect.on('change', function(){
    multipleSelect.parent().find('.select2-search--inline').remove();
});

查看文档https://select2.org/searching#limiting-display-of-the-search-box-to-large-result-sets

你可以试试这个

$('#select_id').select2({ minimumResultsForSearch: -1 });

它关闭搜索结果框,然后设置控件不可见

你可以在select2文档select2文档中检查

试试这个CSS

input[aria-controls=select2-product-type-results]{
  display: none;
}

这个输入是搜索字段