在source: function( request, response ) {...}方法里处理。
用输入的关键字(request.term)去匹配每个选项的内容,通过正则替换把匹配到的部分加上加粗标签或其他样式,作为返回对象的label属性的值。
jQueryUI Autocomplete的Demos里有个ComboBox的例子可以参考(1.10的例子里把关键词高亮代码去掉了,你可以参考1.9的例子,即下面这部分代码)source: function( request, response ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
response( select.children( "option" ).map(function() {
var text = $( this ).text();
if ( this.value && ( !request.term || matcher.test(text) ) )
return {
label: text.replace(
new RegExp(
"(?![^&;]+;)(?!<[^<>]*)(" +
$.ui.autocomplete.escapeRegex(request.term) +
")(?![^<>]*>)(?![^&;]+;)", "gi"
), "<strong>$1</strong>" ),
value: text,
option: this
};
}) );
}
用输入的关键字(request.term)去匹配每个选项的内容,通过正则替换把匹配到的部分加上加粗标签或其他样式,作为返回对象的label属性的值。
jQueryUI Autocomplete的Demos里有个ComboBox的例子可以参考(1.10的例子里把关键词高亮代码去掉了,你可以参考1.9的例子,即下面这部分代码)source: function( request, response ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
response( select.children( "option" ).map(function() {
var text = $( this ).text();
if ( this.value && ( !request.term || matcher.test(text) ) )
return {
label: text.replace(
new RegExp(
"(?![^&;]+;)(?!<[^<>]*)(" +
$.ui.autocomplete.escapeRegex(request.term) +
")(?![^<>]*>)(?![^&;]+;)", "gi"
), "<strong>$1</strong>" ),
value: text,
option: this
};
}) );
}
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );
response( select.children( "option" ).map(function() {
var text = $( this ).text();
if ( this.value && ( !request.term || matcher.test(text) ) )
return {
label: text.replace(
new RegExp(
"(?![^&;]+;)(?!<[^<>]*)(" +
$.ui.autocomplete.escapeRegex(request.term) +
")(?![^<>]*>)(?![^&;]+;)", "gi"
), "<strong>$1</strong>" ),
value: text,
option: this
};
}) );
}这块代码怎么写