JQuery简单搜索

标签 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 来观察 get 请求。

例如,我按下“f”键,通过 get 请求传递的短语值为空。如果我按“ff”,则仅通过 get 请求发送“f”。在清除搜索结果之前,我必须按两次退格键。

有谁知道问题是什么或者我如何改变它以避免这个问题?

谢谢,

布莱恩

最佳答案

改为绑定(bind)到 keyup 事件。您在将当前击键添加到该值之前发送请求。按键事件顺序为 keydownkeypresskeyup,并且值在按下和向上事件之间更新。

关于JQuery简单搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8350631/

相关文章:

javascript - 使用 javascript/jQuery 操作 dom 元素属性的最佳方法

jquery - 在主元素对象上扩展 jquery

jQuery Ajax 帖子将 null 发送到我的 MVC Controller

javascript - setData() 上的 CKEditor 内存泄漏

javascript - 从 Android native 浏览器上传时文件类型为空字符串

javascript - 在浏览器中覆盖 TAB

PHP 变量在后续 AJAX 调用中返回 "default"

javascript - 仅在数据表中根据第一列的下拉值过滤表数据

jQuery 可排序/可拖动列表 disableselection() 不工作

jquery - 调整约束 jQuery .resizable()