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

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


当前回答

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

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

其他回答

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

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

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

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

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

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

.no-search .select2-search {
    display:none
}

$("#test").select2({
    dropdownCssClass : 'no-search'
}); 

$(document).ready(function() { $(".select2").select2(); }); <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script> <label>without search box</label> <select class="select2" data-width="100%" data-minimum-results-for-search="Infinity"> <option>one</option> <option>two</option> </select> <label>with search box</label> <select class="select2" data-width="100%"> <option>one</option> <option>two</option> </select>