web-dev-qa-db-ja.com

jQuery UIオートコンプリートDownArrow UpArrow

JQuery Autocompleteに問題があり、DownArrowとUpArrowを移動していますか?

問題はそのようです

<input id="autocomplete-input" value="">

focus: function (event, ui) {
       $('#autocomplete-input').val(ui.item.label);
 }

これはマウスフォーカスに最適ですが、arrowUpおよびarrowDownを使用すると、ui.item.id以上ui.item.label

どうすればこれを修正できますか?

  1. input valはまったく変更されません[つまりユーザーが入力した用語を保持します]
  2. ユーザーがkeydown/keyupを使用しているinput valでfocused valを更新します

ありがとう

25
Andy

focusイベントのデフォルトの動作を必ず防止してください。

focus: function (event, ui) {
    this.value = ui.item.label;
      // or $('#autocomplete-input').val(ui.item.label);

    // Prevent the default focus behavior.
    event.preventDefault();
      // or return false;
}
54
Andrew Whitaker