2012-04-11 93 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(); 
}