2012-04-11 139 views
0

我正在通過ajax 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 2012-04-11 10:03:23

回答

0

看跌ajax_search()funcion那麼它將很好地工作

+0

非常感謝Ravi。 – John 2012-04-11 13:21:49

0

我不是100%確定你在問什麼。一旦我能夠理解問題,我會很樂意用更多的信息更新這個答案。不過,我確實想告訴你如何更好地簡化你的代碼。

見:在對文件的onload,並在文本框元素的模糊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(); 
}