/ / Warum kann ich meine Jquery nach meiner Ajax-Methode nicht autocomplete nennen - PHP, Jquery, Ajax, Autocomplete

Warum kann ich meine jQuery-Autovervollständigung nicht nach meiner Ajax-Methode aufrufen - php, jquery, ajax, autocomplete

Ich versuche, eine Dropdown-Liste mit Vorschlägen zu erstellenmeine Suche (ähnlich wie bei google "s). Ich möchte einen Ajax-Aufruf machen, der PHP aufrufen würde, und ein Array zurückgeben, das die Vorschläge darstellen würde. Hier ist mein Code bisher:

* Hinweis: Ich habe mein PhP noch nicht implementiert, also tue ich einfach so, als ob mein Ajax erfolgreich war und ein Array namens availableTags zurückgegeben hat:

$(function(){

var timer;
var availableTags;

var getSuggestions = function() {

$.ajax(
{
url: "http://localhost/test.php",
type: "GET",
success: function(output)
{
alert("Success from ajax! " + output);
availableTags = [ "Hello", "Hey"];
}
}
).done(function(data) {
$( "#f" ).autocomplete({
source: availableTags
});
});
}

$("#f").keyup(function() {
clearTimeout(timer);
timer = setTimeout(getSuggestions, 300);

});

});

Mein Problem ist das, obwohl ich ein.Nach dem Laden der Autovervollständigung werden die Vorschläge nicht angezeigt. Ich weiß, dass meine Ajax-Funktion korrekt funktioniert, da ich sie an anderen Stellen verwendet habe. Gibt es eine andere Möglichkeit, Autocomplete aufzurufen?

Um dies weiter zu klären, suche ich nach einer Möglichkeit, die Autocomplete nach meinem Ajax manuell zu laden. Ist das möglich?

Antworten:

1 für die Antwort № 1

Ich denke, das ist es was du willst (Beispiel):

$("#f").autocomplete({
delay: 300,
source: function(request, response) {
$.get("http://localhost/test.php", {
q: request.term
}).success(function(availableTags) {
response(availableTags);
});
}
});