jQuery UI自动完成DownArrow UpArrow

时间:2011-11-08 03:58:16

标签: jquery jquery-ui autocomplete jquery-ui-autocomplete arrow-keys

我在使用jQuery Autocomplete和移动DownArrow和UpArrow时遇到了一些问题?

问题似乎是那个

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

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

这适用于MOUSE焦点 - 但是当我使用arrowUparrowDown时,它会选择ui.item.id以上ui.item.label

我如何解决这个问题:

  1. input val根本没有改变[即它保留了用户 输入的术语]
  2. 使用keydown / keyup更新用户所在的input val focused val
  3. 感谢

1 个答案:

答案 0 :(得分:53)

确保阻止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;
}