2011-12-02 122 views
1

我試圖編寫一個簡單的JQuery搜索。JQuery簡單搜索

這是我到目前爲止有:

$(document).ready(function(){ 
$("#search").bind("keydown", function() { 
    if($("#search").val() != ''){ 
     $.get("/search", {phrase: $("#search").val()}, function(data) { 
      $("#searchResults").html(data); 
     }); 
    }else{ 
     $("#searchResults").html(''); 
    } 

}); 
}); 

我遇到的問題是,當我按下一個鍵的第一個字母不會被髮送到服務器。另外,在搜索結果被清除之前,我必須回退兩次。

我一直在使用Firefox觀察獲取請求。

例如,我按下鍵「f」,通過get請求傳遞的短語值爲空。如果我按「ff」,則只有「f」通過獲取請求發送。在搜索結果被清除之前,我必須按退格鍵兩次。

有誰知道這個問題是什麼或我可以如何改變這種情況以避免這個問題?

謝謝

布賴恩

回答

3

綁定到keyup事件來代替。在當前按鍵添加到值之前,您正在發送請求。按鍵事件順序爲​​,keypress,keyup,並且該值在按下和上移事件之間更新。

+0

工作。謝謝! – Brian