我有一个ajax搜索框,每个关键笔划都会转到服务器上,并返回搜索结果.
当用户快速键入时,我只想搜索最后一个条目,而不是在每一个关键的行程上搜索.否则个别结果会令人烦恼,整个过程都会减缓.
当用户快速键入时,我只想搜索最后一个条目,而不是在每一个关键的行程上搜索.否则个别结果会令人烦恼,整个过程都会减缓.
例如:如果用户快速键入“自由雕像”,我不想搜索“sta”,“stat”,“statu”等
我的jQuery代码的基础是:
$('#searchBox').keyup(function(){ if (this.value.length > 2) { $.post("remote.PHP",{'partial':this.value},function(data){ $("#gen_results").html(data); }); } }); <input id="searchBox" /> <div id="gen_results"></div>
解决方法
使用setTimeout或jQuery的
autocomplete plugin
var timer; $('#searchBox').keyup(function(){ if (this.value.length > 2) { if (timer){ clearTimeout(timer); } timer = setTimeout(function(){ $.post("remote.PHP",function(data){ $("#gen_results").html(data); }); },1000); } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。