我的自動完成結果爲每個項目看起來是這樣的:jQuery的自動完成插件 - 定製的亮點功能
<h3>Celebrity Sweepstakes</h3><p>0 episodes</p>
但我想只有標題裏面的H3加以強調。請參閱下面的'高亮'功能。我不確定如何將原始RegExp更改爲僅在標題內部進行替換。
$(".show_autocomplete").autocomplete("/shows.js", {
minChars: 2,
max: 100,
formatItem:function(item, index, total, query){
return "<h3>" + item.title + "</h3><p>" + item.episodes + " episodes</p>"
},
formatMatch:function(item){
return item.title;
},
formatResult:function(item){
return item.title;
},
dataType:'json',
parse:function(data) {
return $.map(data, function(item) {
return {
data: item,
value: item.title,
result: item.title
}
});
},
highlight: function(value, term) {
var title = value.split("</h3>")[0].replace("<h3>", ""); //only replace inside this?
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"); //original regexp
}
});