在 select2 上禁用“未找到匹配项”文本和自动完成
Posted
技术标签:
【中文标题】在 select2 上禁用“未找到匹配项”文本和自动完成【英文标题】:Disable "No matches found" text and autocomplete on select2 【发布时间】:2013-08-30 12:34:45 【问题描述】:如何在 select2/Tagging Support 上禁用自动完成时的“未找到匹配项”文本?
这就是我现在拥有的:
$('#ProductDescriptions_30_keywords').select2(
tags:[],
tokenSeparators: [",", " "],
minimumResultsForSearch: -1
);
但它仍然在自动完成窗口中显示“未找到匹配项”消息。我想删除它。
【问题讨论】:
没有足够的信息将此作为问题。请花时间写一个明确的问题,并发布您的代码。如果您还提供非工作代码的jsFiddle example 将非常有帮助,这样我们就有了一个起点来帮助您解决问题。 除非问题已经更新,否则它的信息已经足够了(尤其是当我正在寻找完全相同问题的答案时)。感谢@simonadcock 的解决方案。 【参考方案1】:我想我明白您的意思了...如果用户在该搜索字段中输入列表中不存在的值,您想隐藏显示“未找到匹配项”的文本?
你可以在 CSS 中做到这一点:
.select2-no-results
display: none !important;
这里是 an example。
【讨论】:
这在 Select2 4.0 中不再有效,而且似乎没有办法做到这一点。 @guidod:这有点小技巧,但您可以构建一个选择器,利用“未找到结果”li
没有id
属性这一事实:jsfiddle.net/8kRkc/59
如果页面上有另一个 select2 下拉选项,这将隐藏其他 select2 下拉选项【参考方案2】:
实际上我使用的是 select2 v4 标签,下面的代码帮助了我:
$(document).find(".email_contact_search").select2(
tags: true,
tokenSeparators: [','],
"language":
"noResults" : function () return '';
);
我刚刚将 noResults 语言字符串设置为无:
"language":
"noResults" : function () return '';
希望对某人有所帮助
【讨论】:
【参考方案3】:对于 select2 4.0 你可以这样做
.select2-results__message
display: none !important;
【讨论】:
【参考方案4】:.select2-results
display: none;
**只需覆盖这个**
【讨论】:
【参考方案5】:对于 select 2 4.0 你可以这样做
$('#id').select2(
minimumResultsForSearch: Infinity
);
【讨论】:
以上是关于在 select2 上禁用“未找到匹配项”文本和自动完成的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jquery 数据表中找到空表或未找到匹配项时添加自定义警告消息