ОБНОВЛЕНИЕ: Я, наконец, понял это, код ниже должен сделать трюк. По какой-то причине обратный вызов change
не работал, но close
& select
callbacks do. Использование select
лучше, так как close
также будет вызываться, если поле теряет фокус.
$(function() {
$("#searchField").autocomplete({
source: "values.json",
select: function(event, ui) {
$("#searchForm").submit(); }
});
});
ДРУГОЙ UPDATE: Хорошо, есть также проблема с select
обратного вызова, которая является то, что по умолчанию (в приведенном выше коде), если пройти автозаполнения падение вниз с помощью клавиатуры, а затем выберите с ввода , вход будет изменен до отправки формы. Однако, если вы выберете его с помощью мыши, форма будет представлена непосредственно перед изменением ввода, поэтому представленное значение - это то, что пользователь набрал (не то, что она выбрала из раскрывающегося списка автозаполнения). Woraround, что, кажется, работает это:
$("#searchField").autocomplete({
source: "values.json",
minLength: 2,
select: function(event, ui) {
$("#searchField").val(ui.item.label);
$("#searchForm").submit(); }
});
в целом: определите функцию обратного вызова и отправьте форму в функции callback с помощью javascript. Не знаю, как это сделать в коде. – Natrium