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格式返回结果

如何自动提交此表格:

  • 当用户输入至少2个字符时
  • 当用户暂停至少1秒时

  • 使用jQuery将按键处理程序绑定到输入。在回调中,启动一个计时器,用以在一秒钟后提交表单,并保留
    setTimeout
    返回给您的计时器ID。如果在触发按键回调时您的计时器ID为非空,请使用停止计时器并将计时器ID设置为空;如果此时它们也有两个字符,则启动计时器(再次)并存储计时器ID(再次)

    因此,在按键处理程序中有一个如下的过程:

  • 我有计时器吗?
    • 如果是,
      clearTimeout
      ,将计时器ID设为空,然后继续
    • 如果没有,则继续
  • 我至少有两个字符吗?
    • 如果是,则使用
      setTimeout
      启动计时器并存储计时器ID,附加到计时器的函数将提交表单
    • 如果没有,则继续
  • 利润

  • 我认为@mu的答案很好,但我想借此机会推荐一个自动完成输入字段。我现在自己维护一个,它叫。不管返回什么数据,它都可以处理服务器的响应。其他更广泛的脚本是和