2011-02-25 6 views
0
   $("#caller__MODULE_ID__").focus().autocomplete(userData, { 
        minChars: 0, 
        max:4, 
        width: "20%", 
        matchContains: true, 
        cacheLength: 0, 
        selectFirst: false, 
        autoFill: false, 
        formatMatch: function(row, i, max) { 
              return "<table class='tbl-ac' border='0' cellpadding='0' cellspacing='0'><tr><td>"+ userData[i].split(":")[0] + " &lt;" + userData[i].split(":")[1] + "&gt;</td></tr></table>"; 

        }, 
        formatResult: function(row) { 
         var rowString = row+""; 
         return rowString.split(":")[0]; 
        } 
       }); 

문제점 : 텍스트 상자를 지울 때마다 자동 완성 목록의 처음 네 항목이 항상 표시됩니다. 그들을 제거하는 방법Jquery 자동 완성 의심

내가 탭을 치면 클리어된다는 것을 알았습니다. 나는 keypress 이벤트를 시도했지만 너무 도움이되지 못했습니다. 키를 누를 때

$("#caller__MODULE_ID__").bind("keypress",function(event){ 
      if($("#id").text()=="") 
      { 
      myEvent = jQuery.Event("keypress"); 
      myEvent.keyCode= 9; 
      $("#caller__MODULE_ID__").trigger(myEvent); 
      } 
      }); 

PS를 아래의 코드를 참조하십시오 : 파이어 폭스 브라우저에서 시도

+0

당신이 질문을 완료 할 때 답변을 받아 있는지 확인하십시오! 절대 받아 들여지지 않는 죽은 질문은 나쁜 것입니다. :-) – VulgarBinary

+0

추가 활동이나 남은 질문없이 유휴 상태로 앉아 두지 마십시오. 이 질문이 완료되면 답변을 수락하십시오. 여전히 질문이 있으시면 어떤 질문을 가지고 있는지 명시하십시오. – VulgarBinary

+0

흠, 설명서를 읽는 것이 철저히 도움이되었다고 생각합니다 :) 감사합니다! :) –

답변

1
당신은 정말 자동 완성에 대한 공식 문서에서 다른 모습을 취할 필요

, 당신은 문제가있는 이유는 추가 매개 변수의 많은입니다 당신이 추가하고있다. (당신이 호출하는 formatMatch 메소드를 포함한다면, 정확히 당신이 그것을 테이블로 포맷하는 이유를 물을 수도 있겠습니까?)

정말로 필요한 것은 자동 완성과 사용자 데이터를 설정하는 요소입니다. 절대 원시 시작, 그리고 귀하의 매개 변수에 다시 추가 시작합니다. 그러면 오류의 근본 원인으로 이동합니다.

나를 위해 좀 더 디버그하고 싶다면 전체 코드를 게시하십시오. 그러면 오류의 원인을 확인하기 위해 건너 뛸 것입니다.

리소스 : http://docs.jquery.com/Plugins/autocomplete

편집 : (이 구성 요소의 작동 방법의 골자 추가)

$("#caller__MODULE_ID__").autocomplete(userData);

+0

VulgarBinary, 나는 당신의 이름을 알고 있겠지 :) 예, 나는 테이블이 절대적인 낭비임을 압니다. 나는 그것이 제거 될 수 있다는 것을 알고있다. userdata는 : <성, 이름> 형식의 두 가지 js 변수를 연결 한 것입니다. –

+0

>> 정말로 지정해야 할 것은 autocomplete를 설정하는 요소와 사용자 데이터입니다. 절대 원시 시작에서 시작하십시오. 어떻게해야합니까? –

+0

업데이트 됨, 이제 이동은 하나씩 추가 옵션에 다시 추가됩니다. 플러그인을 추가하는 방법은 플러그인의 JQuery 문서를 확인하십시오. 다른 문제가 있으면 알려주십시오. – VulgarBinary