使用Bootstrap Typeahead的荧光笔替代方案

时间:2015-03-13 22:26:36

标签: javascript jquery twitter-bootstrap typeahead

我目前正在使用

中的bootstrap 3 typeahead模块

https://github.com/bassjobsen/Bootstrap-3-Typeahead

当用户搜索时,有时返回的建议实际上并不包含他们正在搜索的任何文本。

例如,用户可能正在搜索Athletic Clothing,我的搜索建议算法可能会将Nike返回给TypeAhead。

一切都很好,除了我通过指定它应该用来显示数据的highlighter函数来覆盖TypeAhead显示。

只有当用户搜索文本出现在建议项目中时,才会调用荧光笔功能。因此,在这种情况下,Nike功能未显示我的highlighter搜索建议。

有没有办法在每个类型元素上强制使用荧光笔功能?即使是那些不包含用户查询的人。

这是我的荧光笔功能:

highlighter: function(data){
                var itm = ''
                         + "<div class='typeahead_wrapper'>"
                         + "<a href='/users.php?user="+data+"'><img width='30' class='typeahead_photo' src='/profiles/" + data + ".jpg' /></a>"
                         + "<div class='typeahead_labels'>"
                         + "<div class='typeahead_primary'><a href='/users.php?user="+data+"'>" + data + "</a></div>"
                         + "</div>"
                         + "</div>";
                return itm;
            }

1 个答案:

答案 0 :(得分:0)

我最终使用了一种非常差的方法来解决问题。

我将返回的数据修改为typeahead格式为

value**matched text

然后在荧光笔功能的顶部,我简单地调用split以在输出之前从中提取值。