0
我試圖使自動完成,但面臨一個問題 - 我不能顯示「找不到結果」。有兩個問題:5次顯示「無結果」,或者沒有顯示任何內容。下面的代碼:Jquery ui自動完成+ json,無法在列表中顯示「無結果」
$(document).ready(function() {
$("#cities").autocomplete({
source: function(request, response){
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
$.ajax({
url: "cities.json",
crossDomain: true,
dataType: "json",
success: function(data){
response($.map(data, function(v,i){
var text = v.City;
if(text && (!request.term || matcher.test(text))){
return {
label: v.Id,
value: v.City
};
}else{
value: "No result"
}
}));
}
});
},
minLength: 1,
autoFocus: true
});
});
我使用的本地JSON文件,其中包含了這樣的數據:
[
{
"Id": 0,
"City": "Toronto"
},{
"Id": 1,
"City": "New-York"
},{
"Id": 2,
"City": "Moscow"
},{
"Id": 3,
"City": "Monreal"
},{
"Id": 4,
"City": "Vancouver"
},{
"Id": 5,
"City": "Williamsburg"
}
]
如果你已經有json文件,那麼你爲什麼要做ajax調用? –
你需要Accent摺疊嗎? https://jqueryui.com/autocomplete/#folding –
歡迎來到Stack Overflow。我認爲沒有結果返回會向用戶指出「未找到結果」。如果列表縮小或不返回任何條目,我感到非常自信,您不必向用戶指示「無結果」。但是,如果你想這樣做,有一種方法。 – Twisty