微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;
  }

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐