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

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


当前回答

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

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

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

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

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

其他回答

这是最好的解决方案,干净又好用:

$("#select2Id").select2 () ;
$("#select2Id").select2 ('container').find ('.select2-search').addClass ('hidden') ;

然后,创建一个类.hidden {display;none;}

如果选择显示结果,必须使用这个:

$('#yourSelect2ControlId').select2("close").parent().hide();

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

在他们的示例页面上:https://select2.org/searching#hiding-the-search-box

$(".js-example-basic-hide-search").select2({
  minimumResultsForSearch: Infinity
});

你可以为minimumResultsForSearch选项设置无穷大或-1

解决方案1

裁判:https://select2.org/searching # limiting-display-of-the-search-box-to-large-result-sets

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

解决方案2

裁判:https://select2.org/searching # hiding-the-search-box

$('select').select2({
   minimumResultsForSearch: Infinity
});

如果你想隐藏特定下拉列表的搜索,可以使用id属性。

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