Изменение автозаполнения jQuery перед отправкой формы - PullRequest
0 голосов
/ 25 августа 2011

с использованием jquery У меня есть текстовое поле автозаполнения, например пример со списком на веб-сайте jQuery UI http://jqueryui.com/demos/autocomplete/#combobox

$("#mycombobox").combobox();

Это в основном текстовое поле ввода, меню и кнопка.

проблема на странице aspx У меня есть mycombobox, там есть кнопка asp:, которая соединяется, чтобы отправить форму при нажатии Enter.

в выпадающем списке

$(<input>)
.autocomplete(...)
.keydown(function (e) {
    var keyCode = e.keyCode || e.which;
    if (keyCode == 13 || keyCode == 108) {
        $(this).blur();
        return false;
    }
    return true;
})

keydown - мой хакерспособ не допустить его, но он получает только половину права.Я хочу, чтобы при первом нажатии кнопки ввода вызывалось событие изменения автозаполнения, а при втором нажатии кнопки ввода форма может быть отправлена.

без взлома keydown, изменение по-прежнему вызывается при автозаполнении, но только после вызова submit, используя старое значение.Я бы предпочел не делать это таким образом и найти лучший способ.

Редактировать
Если что-то выбрано, оно имеет правильное поведение, как я могу вручную выбрать первыйвариант, когда отображается меню?

1 Ответ

0 голосов
/ 25 августа 2011

вы можете проверить, виден ли пользовательский интерфейс автозаполнения, чтобы определить, что будет делать нажатие Enter

$('.ui-autocomplete').is(':visible')
...