对于更重要的选择,Select2中的搜索框非常棒。然而,在一个例子中,我有4个简单的硬编码选项。在这种情况下,搜索框是多余的,而且看起来有点傻。有没有办法把它藏起来?我在网上查阅了文档,在构造函数中找不到任何选项。
当然,我可以只使用常规的HTML选择,但为了保持一致性,如果可能的话,我希望使用Select2。
对于更重要的选择,Select2中的搜索框非常棒。然而,在一个例子中,我有4个简单的硬编码选项。在这种情况下,搜索框是多余的,而且看起来有点傻。有没有办法把它藏起来?我在网上查阅了文档,在构造函数中找不到任何选项。
当然,我可以只使用常规的HTML选择,但为了保持一致性,如果可能的话,我希望使用Select2。
当前回答
你可以试试这个
$('#select_id').select2({ minimumResultsForSearch: -1 });
它关闭搜索结果框,然后设置控件不可见
你可以在select2文档select2文档中检查
其他回答
.no-search .select2-search { display:none } $("#test").select2({ dropdownCssClass : 'no-search' });
如果你想隐藏特定下拉列表的搜索,可以使用id属性。
$('#select_id').select2({ minimumResultsForSearch: -1 });
用jQuery移除输入对我有用:
$(".select2-search, .select2-focusser").remove();
如果你想隐藏在初始打开,你正在通过ajax调用填充下拉列表,在你的select2声明的ajax块中添加以下内容:
beforeSend: function ()
{
$('.select2-search--dropdown').addClass('hidden');
}
然后在ajax请求成功后再次显示它(并聚焦):
success: function() {
$('.select2-search--dropdown').removeClass('select2-search--hide'); // show search bar then focus
$('.select2-search__field')[0].focus();
}
为了防止有人无意中发现这一点,现在在构造函数中有一个hideSearch选项,它似乎更接近问题所寻找的东西。
回声Select2::小部件(['名字' = >“状态”,“hideSearch”= > true,“数据”= >[1 = >“活跃”,2 = > '活动']]);