TwitterTypeahead只在开始时触发,在重新加载页面之前不会再次触发

TwitterTypeahead只在开始时触发,在重新加载页面之前不会再次触发,twitter,typeahead.js,Twitter,Typeahead.js,每当我在twitter的typeahead中输入单词时,它应该允许我远程查询城市。然而,当我第一次输入单词时,它会立即触发。但在第一次之后,无论我在typeahead中输入多少,它都不会再次触发 此外,url:'/city?n='+$('.typeahead').val(),服务器总是接收url位于'/city?n='上的请求,因此尽管输入字段中有值,但$('.typeahead').val()似乎不起作用 <input class="typeahead" name="city" t

每当我在twitter的typeahead中输入单词时,它应该允许我远程查询城市。然而,当我第一次输入单词时,它会立即触发。但在第一次之后,无论我在typeahead中输入多少,它都不会再次触发

此外,
url:'/city?n='+$('.typeahead').val()
,服务器总是接收url位于'/city?n='上的请求,因此尽管输入字段中有值,但$('.typeahead').val()似乎不起作用

   <input class="typeahead" name="city" type="text"  style="width:400px" placeholder="Search cities..." >

$('.typeahead').typeahead({
   remote:{
        url:'/city?n='+$('.typeahead').val()
        ,timeout: 2000
        ,cache:84000
        ,rateLimitWait:1000 
     }  
  });

$('.typeahead')。typeahead({
远程:{
url:'/city?n='+$('.typeahead').val()
,超时时间:2000
,缓存:84000
,rateLimitWait:1000
}  
});

尝试使用typeahead.js%QUERY通配符发送查询

$('.typeahead').typeahead({
    remote:{
        url:'/city?n=%QUERY',
        timeout: 2000,
        cache: 84000,
        rateLimitWait: 1000 
    }  
});

第一个问题:第一次查询后,您的typeahead无法工作的原因是您可能在服务器端或客户端出错,导致页面崩溃。查看控制台是否每次都发出请求,以及服务器是否正在处理每个请求

对于第二个问题,我发现它提到了
$('.typeahead').val()
返回
未定义的
。这可能就是您的URL没有得到动态设置的原因

请尝试
$('.tt input')。改为键入先行('val')

.tt input
是由typeahead插件插入的类