我尝试编写一个简单的JQuery搜索。
这是我到目前为止所做的:
$(document).ready(function(){
$("#search").bind("keydown", function() {
if($("#search").val() != ''){
$.get("/search", {phrase: $("#search").val()}, function(data) {
$("#searchResults").html(data);
});
}else{
$("#searchResults").html('');
}
});
});
我遇到的问题是,当我按下某个键时,第一个字母不会发送到服务器。另外,我必须在清除searchResults之前按两次退格。
我一直在使用Firefox观察获取请求。
例如,我按下“f”键,通过get请求传递的短语值为空。如果我按“ff”,则只通过get请求发送“f”。在清除searchResults之前,我必须按两次退格键。
有谁知道问题是什么或我如何改变这个以避免这个问题?
谢谢,
布赖恩
答案 0 :(得分:3)
绑定到keyup
事件。您在将当前击键添加到值之前发送请求。按键的事件顺序为keydown
,keypress
,keyup
,并且值在新闻事件和更新事件之间更新。