2012-03-17 2 views
2

jQuery를 사용하고 mustMatch 옵션을 지원하는 자동 완성을 찾고 있습니다 (여기서 사용자는 존재하는 항목 이름을 입력해야합니다) -> 이렇게하는 자동 완성이 여러 개 있기 때문에 문제가되지 않습니다 .
문제는 자동 완성이 입력 된 값을 테스트 할 필요가 있다는 것입니다.
예 :입력 된 값의 유효성을 검사하는 jquery 자동 완성

  1. 사용자가 "영국"을 입력합니다.
  2. 목록이 "England"로 열립니다.
  3. 사용자가 목록 항목을 누르지 않고 (영국을 선택하지 않음) 입력 외부를 클릭하면됩니다.
  4. 사용자가 목록에서 선택하지 않았기 때문에 mustMatch를 지원하는 대부분의 자동 보정은 입력을 지 웁니다. 나는 "영국"존재 여부를 확인하고 그에 따라 행동하는 자동 완성을 찾고 있습니다.

자동 완성 플러그인을 알고 계십니까? 아니면 존재하는 플러그인을 어떻게 수정할 수 있습니까?

답변

10

jQueryUI's autocompleteScott González' autoSelect plugin과 함께 위젯의 change 이벤트와 함께 사용할 수 있습니다. 당신이 플러그인을 포함하는 경우, 당신이 필요합니다 모든입니다

$("#auto").autocomplete({ 
    source: ['England', 'Germany', 'Denmark', 'Sweden', 'France', 'Greece', 'Italy'], 
    change: function (event, ui) { 
     if (!ui.item) { 
      this.value = ''; 
     } 
    } 
}); 

예 : 나는 당신의 예를 많이 시도http://jsfiddle.net/qb59C/

+0

! 이것은 완벽하게 여기 http://jsfiddle.net/qb59C/2/에서 작동하지만 내 컴퓨터에서 작동하지 않습니다! "영국"이라고 쓰고 텍스트 입력 바깥 쪽을 클릭하면 - 내 컴퓨터에서 입력이 지워지고 jsFiddle에서 데이터 컨테이너가 올바르게 채워집니다. jsFiddle 설정에서 jQuery UI 1.8.16 프레임 워크를 표시하지 않은 것으로 나타났습니다. 자동 완성은 어떻게 작동합니까? 그것은 jquery UI 프레임 워크의 일부입니다. jsFiddle에 버그가 있습니까? 내 컴퓨터 (동일한 브라우저)에서 코드가 다르게 작동하는 이유는 무엇입니까? – Naor

+0

@Naor : ** 리소스 관리 **를 클릭하십시오. 내가 언급 한 플러그인을 포함시켜야 작동 할 수 있습니다. –

+0

대단히 감사합니다 !!! – Naor

관련 문제