Javascript 如果用户暂停输入1-2秒,如何进行自动搜索?
我有一个Javascript 如果用户暂停输入1-2秒,如何进行自动搜索?,javascript,jquery,ruby-on-rails,ruby-on-rails-3,search,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,Search,我有一个form_标签,它将用户的搜索远程提交给Rails控制器方法,该方法以JS格式返回结果 如何自动提交此表格: 当用户输入至少2个字符时 当用户暂停至少1秒时 使用jQuery将按键处理程序绑定到输入。在回调中,启动一个计时器,用以在一秒钟后提交表单,并保留setTimeout返回给您的计时器ID。如果在触发按键回调时您的计时器ID为非空,请使用停止计时器并将计时器ID设置为空;如果此时它们也有两个字符,则启动计时器(再次)并存储计时器ID(再次) 因此,在按键处理程序中有一个如下的过程:
form_标签
,它将用户的搜索远程提交给Rails控制器方法,该方法以JS格式返回结果
如何自动提交此表格:
使用jQuery将按键处理程序绑定到输入。在回调中,启动一个计时器,用以在一秒钟后提交表单,并保留
setTimeout
返回给您的计时器ID。如果在触发按键回调时您的计时器ID为非空,请使用停止计时器并将计时器ID设置为空;如果此时它们也有两个字符,则启动计时器(再次)并存储计时器ID(再次)
因此,在按键处理程序中有一个如下的过程:
- 如果是,
,将计时器ID设为空,然后继续clearTimeout
- 如果没有,则继续
- 如果是,则使用
启动计时器并存储计时器ID,附加到计时器的函数将提交表单setTimeout
- 如果没有,则继续
我认为@mu的答案很好,但我想借此机会推荐一个自动完成输入字段。我现在自己维护一个,它叫。不管返回什么数据,它都可以处理服务器的响应。其他更广泛的脚本是和