문제

jQuery AutoComplete 필드가 TextBox를 처음 입력 할 때 응답하지 않는 매우 흥미로운 사례가 있지만 TextBox 외부에 탭 한 다음 Cursor를 텍스트 상자로 다시 반환하여 응답하기 시작하고 결과가 다시 시작됩니다. 입력하기 시작하면 표시됩니다.

FireBug를 사용하면 실제로 응용 프로그램의 AJAX 기능이 호출되고 결과가 HTML Templete로 반환되는 것을 볼 수 있지만 결과가 표시되지 않으면이 동작의 원인이 무엇입니까?

내 함수 바인딩 코드 :

  $(function()
  {
    $(document).ready(function(){
       $("#tags1").bind("keyup",autoFill)
      });
   });

내 자동 완성 기능

 function autoFill(){
           $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });
       }

내 텍스트 상자 필드 :

 <input type="text" style="width: 400px" id="tags1" name="tags1" value="">
도움이 되었습니까?

해결책

KeyUp에서 AutoComplete () 호출을하는 이유는 무엇입니까? 나는 그것이 당신의 문제를 일으킬 수 있다고 생각합니다. 문서 준비 이벤트에서 autocomplete ()를 바로 전화하려고합니다.

$(document).ready(function(){

        $("#tags1").autocomplete("/taglookup/", {
        width: 320,
        max: 4,
        highlight: false,
        multiple: true,
        multipleSeparator:",",
        scroll: true,
        scrollHeight: 300,
        delay: 10
         });

      });

다른 팁

오늘 내가 사용한 것과 동일한 자동 완성을 사용하는 경우 (다른 컴퓨터에서 미안 - 정확한 버전이 무엇인지 알 수 없습니다) - KeyUp에 바인딩 할 필요가 없습니다.

<script>
    $('#tags1').autocomplete(....);
</script>

자동 완성 함수는 모든 키 프레스/포커싱 변경 등을 처리합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top