[英]Jquery auto complete recommendation
我正在嘗試使用JQuery自動完成示例。 請參閱-http://jsfiddle.net/LCv8L/797/
當我鍵入“ Ar”時,應首先輸入“ Ar”相關項。 盡管我給了minLength
1,但是它首先顯示了“ An”。可能是考慮了字母順序。 有解決這個問題的建議嗎?
minLength: 1,
select: function(event, ui) {
event.preventDefault();
$("#customer-search").val(ui.item.label);
$("#selected-customer").val(ui.item.label);
},
focus: function(event, ui) {
event.preventDefault();
$("#customer-search").val(ui.item.label);
}
});
默認情況下,包含字符串而不是開頭的自動完成搜索項。
$('#customer-search').autocomplete({
source: function(request, response) {
var filtered = $.map(data, function(item) {
if(item.value.toLowerCase().startsWith(request.term.toLowerCase())) {
return item;
}
else {
return null;
}
});
response(filtered);
}
});
嘗試在“搜索”方法中更改名稱空間中的正則表達式。
請在jsfiddle.net/LCv8L/800/中找到答案
在您的jsfiddle中運行此代碼,即可按需運行。.::) //使用正則表達式是防止這種情況的更好方法。
var wordlist= [
"Afghanistan",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
"Antigua and Barbuda",
"Argentina",
"Armenia",
"Aruba",
"Australia",
"Austria",
"Azerbaijan"
] ;
$("#customer-search").autocomplete({
source: function(req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" + re, "i" );
var a = $.grep( wordlist, function(item,index){
return matcher.test(item);
});
responseFn( a );
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.