jquery – 如何防止bootstrap typeahead从ajax调用中双重过滤非匹配结果

我正在使用带有jQuery ajax的bootstrap typeahead,我们将其称为FILTER#1.在我的情况下,像“大坦克”或“大坦克”这样的ajax搜索都产生了“Great Tank”ajax结果,但是typeahead是第二次猜测我的结果并且双重滤除(我们将称为FILTER#2)第二个结果因为空间.我的ajax结果也可能与输入的结果完全不同.我需要typeahead来相信所提供的结果是有效的,并且无论确切的小写文本匹配如何都显示它们.

我想要有以下行为:

>如果结果中有匹配的单词,则突出显示
>如果有一个不匹配的单词显示它没有突出显示,但将其留在结果列表中而不是将其过滤掉.

(1)工作OOTB,但(2)是我正在寻找的缺失功能.如果我不能有(1)和(2)我可以放弃(1).

这是一个小提琴的例子:http://jsfiddle.net/PE9mN/

$("#title2").typeahead({
        source: function( request,response ) {
              var mockResults2 = ["Great Tank War","Great Train Robbery","other random result my server produced"];
            response(mockResults2); 
            // I expect this to display both items regardless of $("#title2").val() 
            // In my case,the server was smart enough to realize that 
            // "greattank" may match "great tank"
            // and it even added a 3rd value that I want to display.
            }
           });

谢谢.

解决方法

如果您将以下选项添加到typeahead:

matcher: function(item) {
      return true;
  }

然后不会应用“第二次”过滤.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...