/ / Perché non posso chiamare il mio completamento automatico jquery dopo il mio metodo ajax - php, jquery, ajax, completamento automatico

Perché non posso chiamare il mio completamento automatico jquery dopo il mio metodo ajax: php, jquery, ajax, completamento automatico

Sto cercando di creare un menu a discesa di suggerimenti sula mia ricerca (simile a Google "s). Voglio fare una chiamata Ajax che chiamerebbe un po 'php e restituire un array che sarebbe i suggerimenti. Ecco il mio codice finora:

* Nota: non ho ancora implementato il mio PhP, quindi sto solo facendo finta che il mio Ajax abbia avuto successo e abbia restituito un array chiamato availableTags:

$(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);

});

});

Il mio problema è che anche se sto usando un.fatto per caricare il completamento automatico, non mostra il menu a discesa dei suggerimenti. So che la mia funzione Ajax funziona correttamente perché l'ho usata in altri posti. C'è un altro modo in cui dovrei chiamare il completamento automatico?

Quindi, per chiarire ulteriormente: sto cercando un modo per caricare manualmente il completamento automatico dopo il mio Ajax. È possibile?

risposte:

1 per risposta № 1

Penso, questo è quello che vuoi (esempio):

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