2012-06-07 6 views
0

jQuery 자동 완성을 구현하려고합니다.함수가 느리기 때문에 함수가 여러 번 실행됩니다.

자동 완성 호출은 목록을로드하는 데 500ms가 걸립니다. 500ms 동안 사용자가 더 많은 문자를 입력하면 자동 완성 기능이 다시 실행되어 중복 목록이 생성됩니다.

통화를 한 번만 수행하도록 어떻게 제한 할 수 있습니까?

$arr[] = array(//filled with array data); 

print json_encode($arr); 
+2

플러그인에 결함이있는 것 같습니다. 플러그인 작성자를위한 분명한 해결책은 새로운 AJAX 요청을 취소하기 전에 취소하는 것입니다 ... – lonesomeday

+0

http://componet.com/demos/autocomplete/#event-search에서 사용할 수있는 많은 이벤트가 있습니다. 검색, 선택, 닫기 - 개인적으로 나는 자동 완성을 바인드/바인딩 해제합니다. 사용자 유형에 따라 결과를 다듬어 야합니다. – Rob

답변

0

밝혀 난 그냥은 .js에서 매개 변수 'json_cache'을 이동했다는 것을 : PHP는 측면에서

$(document).ready(function(){ 
    var url = "localhost/index.php?page=user&choice=getlist"; 
    $("#list").autocomplete({json_url:url,height:6}); 
}); 

: 자바 스크립트 측면에서

-

이 문제를 해결하기 위해 콜백 함수 밖의 파일.

관련 문제