对于更重要的选择,Select2中的搜索框非常棒。然而,在一个例子中,我有4个简单的硬编码选项。在这种情况下,搜索框是多余的,而且看起来有点傻。有没有办法把它藏起来?我在网上查阅了文档,在构造函数中找不到任何选项。
当然,我可以只使用常规的HTML选择,但为了保持一致性,如果可能的话,我希望使用Select2。
对于更重要的选择,Select2中的搜索框非常棒。然而,在一个例子中,我有4个简单的硬编码选项。在这种情况下,搜索框是多余的,而且看起来有点傻。有没有办法把它藏起来?我在网上查阅了文档,在构造函数中找不到任何选项。
当然,我可以只使用常规的HTML选择,但为了保持一致性,如果可能的话,我希望使用Select2。
当前回答
@Misha Kobrin的回答很适合我,所以我决定多解释一下
你想隐藏搜索框,你可以通过jQuery来实现。
例如,你已经初始化了select2插件在一个下拉列表中有id受众
element_select = '#audience';// id or class
$(element_select).select2("close").parent().hide();
该示例适用于select2工作的所有设备。
其他回答
查看这个线程https://github.com/ivaynberg/select2/issues/489,您可以通过将minimumResultsForSearch设置为负值来隐藏搜索框。
$('select').select2({
minimumResultsForSearch: -1
});
如果你想隐藏特定下拉列表的搜索,可以使用id属性。
$('#select_id').select2({ minimumResultsForSearch: -1 });
用jQuery移除输入对我有用:
$(".select2-search, .select2-focusser").remove();
版本4.0.3
尽量不要将用户界面需求与JavaScript代码混合在一起。
你可以在标记中用属性隐藏搜索框:
data-minimum-results-for-search = "无限"
标记
<select class="select2" data-minimum-results-for-search="Infinity"></select>
例子
$(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>
.no-search .select2-search { display:none } $("#test").select2({ dropdownCssClass : 'no-search' });