【发布时间】:2015-11-24 08:00:30
【问题描述】:
在源代码中没有标签的情况下突出显示多个单词可以正常工作,但我正在寻找一种使用标签的方法。
例如,如果搜索是“jo ramo”,则结果应该是“Joey Ramones”。
$(function() {
$("#autocomplete").autocomplete({
source: [
{ "label": "<span class=\"item1\">Joey</span> <span class=\"item2\">Ramones</span>"},
{ "label": "<span class=\"item1\">Johnny</span> <span class=\"item2\">Ramones</span>"},
{ "label": "<span class=\"item1\">Dee Dee</span> <span class=\"item2\">Ramones</span>"}
],
minLength: 2
})
.data("ui-autocomplete")._renderItem = function(ul, item) {
var searchMask = this.element.val();
var regEx = new RegExp(searchMask, "ig");
var replaceMask = "<b>$&</b>";
var html = item.label.replace(regEx, replaceMask);
return $("<li></li>")
.data("item.autocomplete", item)
.append($('<div class="item"></div>').html(html))
.appendTo(ul);
}
});
感谢您的帮助。
【问题讨论】: