Автозаполнение пользовательского интерфейса jQuery не будет устанавливать метку элемента

0

Виджет автозаполнения jQuery UI может содержать как метку, так и значение для каждого элемента.

Я с удивлением обнаружил, что в моем текстовом поле установлено значение, а не метка, поскольку элемент выбран. Я мог бы переопределить это следующим кодом:

// ...
select: function (event, ui) {
    $('#myEditBox').val(ui.item.label);
    $("#myHiddenField").val(ui.item.value);
    return false;
},
// ...

Это отлично работает при выборе элемента. Но та же проблема возникает, когда элемент просто подсвечивается. После некоторого поиска я не смог понять, как переопределить это поведение.

Кто-нибудь знает, как установить текстовое поле на метку элемента, когда этот элемент просто подсвечен?

  • 0
    Какая версия jQuery UI? (так что я могу пойти, чтобы исправить GitHub)
Теги:
autocomplete
jquery-autocomplete

1 ответ

0
Лучший ответ

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

// ...
focus: function (event, ui) {
    $('#myEditBox').val(ui.item.label);
    $("#myHiddenField").val(ui.item.value);
    return false;
},
// ...
  • 0
    ну, вы «фокусируете» элемент в выпадающем меню: p

Ещё вопросы

Сообщество Overcoder
Наверх
Меню