在 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 上禁用“未找到匹配项”文本和自动完成的主要内容,如果未能解决你的问题,请参考以下文章

未找到匹配项时 JPA 查询的返回值

如何在 jquery 数据表中找到空表或未找到匹配项时添加自定义警告消息

zsh:未找到匹配项:请求 [安全]

在 select2 clear 上禁用下拉打开

如果未找到匹配项,Python 2.7 将仅用一行退出 while 循环

在select2的下拉打开时禁用自动对焦?