JQuery Autocomplete ne montre pas tous les résultats

Je suis confronté au problème ci-dessous toute la journée et apprécierais tout conseil.

J’écris JQuery autocomplete et il ne montre que des résultats partiels, mais pas tous les résultats de arraylist.

Lorsque je débogue dans la fonction customFilter, le array contient la chaîne attendue dans chaque ligne et le term contient les données d’entrée correctes dans la zone de texte.

 function customFilter(array, terms) { arrayOfTerms = terms.split(" "); var term = $.map(arrayOfTerms, function (tm) { return $.ui.autocomplete.escapeRegex(tm); }).join('|'); var matcher = new RegExp("\\b" + term, "i"); return $.grep(array, function (value) { return matcher.test(value.label || value.value || value); }); }; $( "#frmCode" ).autocomplete({ multiple: true, mustMatch: false, minLength: 2, source: function (request, response) { response(customFilter( availableCode, request.term)); } }); 

j’ai essayé

 var a = $.grep(autoData, function(value){ var matcher = new RegExp("\\b" + term, "i"); return matcher.test(term); }); 

mais cela n’a pas fonctionné non plus. Puis-je savoir ce qui cause ce problème?

j’ai changé

 var matcher = new RegExp("\\b" + term, "i"); 

à

 var matcher = new RegExp("" + term, "i"); 

et cela fonctionne maintenant.

 console.log("result - " + matcher.test(value.label || value.value || value)); console.log("value - " + value) 

affiche le résultat attendu comme vérification également.