0
J'ai essayé de faire la saisie semi-automatique, mais face à un problème - je ne peux pas afficher "aucun résultat trouvé". Il y avait deux problèmes: Il affichait "aucun résultat" pour 5 fois ou n'affichait rien. Voici le code:Jquery ui automplete + json, Impossible d'afficher "aucun résultat" dans la liste
$(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
});
});
J'ai utilisé le fichier JSON local, qui contient ces données:
[
{
"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"
}
]
Si vous avez déjà un fichier json alors pourquoi allez-vous faire un appel ajax? –
Avez-vous demandé le pliage Accent? https://jqueryui.com/autocomplete/#folding –
Bienvenue dans Stack Overflow. Je pense que le fait de ne renvoyer aucun résultat indiquerait à l'utilisateur que «Aucun résultat n'a été trouvé». Si la liste se rétrécit ou ne renvoie aucune entrée, je suis assez confiant que vous n'aurez pas à indiquer "Aucun résultat" à l'utilisateur. Mais si vous voulez faire cela, il y a un moyen. – Twisty