【发布时间】:2012-03-13 09:14:41
【问题描述】:
我正在尝试使用 php 和 jquery 实现搜索框(搜索结果来自数据库)。我想要做的是,当用户在搜索框中键入内容时,会进行查询以查找包含用户在搜索框中输入的关键字的数据。我遇到的问题是我有这样的事情:
$("#my_search_box").keyup(function(){
retrieve_results($(this).val());
});
这样做的问题是,每次用户完成输入时都会调用函数retrieve_results()(当然,因为这就是keyup 的用途)。因此,这可能会变得非常慢,因为如果用户键入一个包含 10 个字符的单词,retrieve_results() 函数会连续调用 10 次。另外,我应该提到,在我的retrieve_results() 函数中,我正在使用jQuery $.ajax 执行Ajax 请求以获取结果。所以我的问题如下:
我如何做到这一点,以便我的函数 retrieve_results() 不会在每次用户停止输入时(每次按键启动时)都被执行。我想保留该功能,但我不希望用户单击“搜索”按钮或其他东西。我只是希望我的retrieve_results() 函数在用户输入完所有关键字后仅被调用一次(不是每次用户输入字母或其他内容时)
谢谢
【问题讨论】:
标签: php jquery ajax search search-engine