2012-04-11 4 views
0

아약스 jquery를 통해 검색 기능을 구현하고 있지만이 기능이 새로 도입되었습니다. 나는 keyup 이벤트를 사용하여 그것을했다. 그 편지 (들)에 따라 무언가를 타이프 ​​할 때마다, 나의 검색 목록이오고있다. 그러나 문제는 페이지를 새로 고침 할 때 어떤 기록도 얻지 못하고 있다는 것입니다. 만약 내가 뭔가를 검색한다면, 나는 기록을 얻고 있으며, 그 위치에있는 검색 필드에 입력 된 모든 텍스트를 삭제하면 올바른 레코드 목록이 나오지만 처음은 아닙니다.jquery 및 ajax 페이지 발행

$("#search_term").keyup(function(e){ 
       e.preventDefault(); 
       ajax_search(); 
     }); 

    function ajax_search(){ 
     $("#search_results").show(); 
     var search_val=$("#search_term").val(); 
     $.post("user-account-other.php", {search_term : search_val}, function(data){ 
     if (data.length>0){ 
     $("#search_results").html(data); 
     } 
     }) 
    } 

<div id="search_results"></div> 

이제이 문제를 해결할 수있는 방법을 알려주십시오.

+0

이 날 수 있을까 작동하지만 난 정말 돈 ' 질문을 이해하지 못합니다 ... 페이지를 새로 고침 할 때 기록을 남기지 않습니까? keyUp에 대한 레코드 만 가져 오기 때문에 정상적인가요? 그래서 타이핑을 시작할 때까지 아무 것도 보여주지 않습니까? – snaderss

답변

0

넣어 ajax_search() funcion는 다음 완벽

+0

Ravi에게 감사드립니다. – John

0

당신이 묻고있는 것이 100 % 확실하지 않습니다. 문제를 이해하면이 답변을 좀 더 자세한 정보로 업데이트 해 드리겠습니다. 그러나 나는 코드를 더 효율적으로 만드는 방법을 보여주기를 원했습니다.

참조 : 문서의 온로드에 또한 텍스트 상자 요소의 흐림에 http://api.jquery.com/load/

$("#search_term").keyup(function(e){ 
    e.preventDefault(); 
    ajax_search(); 
}); 

function ajax_search(){ 
    var url = "user-account-other.php?search_term=" + $("#search_term").val(); 
    $("#search_results").load(url, function(){ 
     //Ajax Load is Done 
    }).show(); 
}