22

jQuery 자동 완성과 DownArrow 및 UpArrow와 관련된 몇 가지 문제가 있습니다.jQuery UI 자동 완성 DownArrow UpArrow

문제는

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

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

이 마우스 초점을위한 위대한 작품을 것 같다 -하지만 난 arrowUparrowDown를 사용하는 경우 - 그것은 이상과 ui.item.label

위의 ui.item.id를 선택 어떻게하면 다음 중 하나를 수정할 수 있습니까?

  1. input은 전혀 변경되지 않습니다. 는 사용자를 keyDown로에있는 사용자에게 입력 된 용어]
  2. 이는 focused 발과 input 발을 업데이트를 유지 /의 keyup

감사

답변

52

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; 
} 
+0

aha! 대단히 감사합니다. @ 앤드류 - 나는 그것을 완전히 잊어 버렸습니다. :) – Andy

+0

@Andy : 다행스럽게':)'. –

+0

이것은 작동하지만 키 (위/아래)가 선택된 항목의 텍스트 상자에있을 때 레이블이 아닌 값을 표시 할 때 한 가지 문제가 발생합니다. 다시 누르면 값을 표시합니다. – TBAG