Я пытаюсь создать выпадающее меню с предложениями (по аналогии с Google). Я хочу сделать ajax-вызов, который вызовет некоторый php и вернет массив, который будет предложен. Вот мой код до сих пор:
* Примечание: я еще не реализовал свой PhP, поэтому я просто притворяюсь, что мой ajax был успешным и возвратил массив с именем 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);
});
});
Моя проблема в том, что, хотя я использую .done для загрузки автозаполнения, он не показывает выпадающий список предложений. Я знаю, что моя функция ajax работает правильно, потому что я использовал ее в других местах. Есть ли другой способ, которым я должен вызывать автозаполнение?
Поэтому, чтобы уточнить дальше — я ищу способ вручную загрузить автозаполнение после моего AJAX. Это возможно?
Я думаю, это то, что вы хотите (пример):
$('#f').autocomplete({
delay: 300,
source: function(request, response) {
$.get('http://localhost/test.php', {
q: request.term
}).success(function(availableTags) {
response(availableTags);
});
}
});
Других решений пока нет …