Подтвердить что ты не робот

Запуск автозаполнения jQuery вручную

Я использую автозаполнение jQuery UI с некоторым AJAX (данные не тянутся до тех пор, пока они не перестанут печатать). Я хотел бы сделать это так, как только данные будут найдены, Autocomplete будет всплывать в качестве результата поиска. Это работает, однако, только когда я снова набираю текст (выпадающее меню не запускается, пока я не набираю, потому что он не инициализирован до тех пор, пока я не перестану печатать).

Мой код:

var availableTags = [
    "Perl",
    "PHP",
    "Python",
    "Ruby"
];
$('input#mainSearchBox').autocomplete({
    source: availableTags,
        minLength: 0
});
    $('input#mainSearchBox').data('autocomplete').menu.active;

Последняя часть была попыткой активировать автозаполнение, но она терпит неудачу.

4b9b3361

Ответ 2

Вы можете использовать следующий script для автоматического переключения автозаполнения:

var textbox = $('input#mainSearchBox');
var autocompleteBox = textbox.autocomplete('widget');

// toggle the autocomplete widget
autocompleteBox.is(':hidden') ? 
    textbox.autocomplete('search', textbox.val()).focus() :
    autocompleteBox.hide();

Этот код можно найти в источнике примера combobox на демонстрационном сайте jQuery autocomplete (строки 127-141).