我目前正在使用
中的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;
}
答案 0 :(得分:0)
我最终使用了一种非常差的方法来解决问题。
我将返回的数据修改为typeahead格式为
value**matched text
然后在荧光笔功能的顶部,我简单地调用split
以在输出之前从中提取值。