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

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


当前回答

//Disable a search on particular selector
$(".my_selector").select2({
    placeholder: "ÁREAS(todas)",
    tags: true,
    width:'100%',
    containerCssClass: "area_disable_search_input" // I add new class 
});

//readonly prop to selector class
$(".area_disable_search_input input").prop("readonly", true);

其他回答

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

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

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

用jQuery移除输入对我有用:

$(".select2-search, .select2-focusser").remove();

对于多选你必须写js代码,没有设置属性。

$('#js-example-basic-hide-search-multi').select2();

$('#js-example-basic-hide-search-multi').on('select2:opening select2:closing', function( event ) {
    var $searchfield = $(this).parent().find('.select2-search__field');
    $searchfield.prop('disabled', true);
});

这一点在他们的页面上提到了:https://select2.org/searching#multi-select

你可以为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
});