Datenquelle für jQuery auto-complete-Plugin
-
10-07-2019 - |
Frage
ich jQuery auto-complete-Plugin für eine einfache Suchformular verwenden. Ich habe Probleme für die Nutzung meine JSON-Objektdaten in ein Array konvertieren mit Auto-Vervollständigung.
Mein Code:
var listOfOrderedByNames = getAutocompleteData();
$('#OrderedBy').autocomplete(listOfOrderedByNames);
function getAutocompleteData() {
var output;
$.getJSON('AJAX/GetOrderedByNames', function(data) {
$.each(data, function(index, optionData) {
output += optionData + "|";
});
});
return output;
}
Meine JSON-Daten, die wie folgt aussehen zurückgegeben:
["Jimmy","John", "Etc",null]
Aus irgendeinem Grunde sieht es aus wie das, was ich bin immer wieder von dieser getAutocompleteData
Funktion eine leere Zeichenfolge ist, und ich weiß nicht, was falsch ist.
Bitte helfen Sie!
Lösung
Es ist, weil $.getJSON
asynchron ist. Sobald Sie die Anfrage, Ihre Funktion getAutocompleteData()
weiter ausführt, Rückkehr nichts senden.
Sie sollten alles in der Callback-Funktion anbei erhalten Sie auf der getJSON Methode vorbei sind:
var output;
$.getJSON('AJAX/GetOrderedByNames', function(data) {
var output = "";
$.each(data, function(index, optionData) {
output += optionData + "|";
});
$('#OrderedBy').autocomplete(output);
});
Andere Tipps
Versuchen Sie, die var ouput;
Linie Wechsel var output = '';