这是用keyup事件做的模糊查询,当在图上的文本框中输入关键字,就会搜索出包含关键字的数据。
我的问题是(我想查询包含ccc的数据):
1、当慢慢点击c键时,没有问题
2、当我快速连击3个c时,列表上先闪过ccc的数据,再闪过cc的数据,最后显示的是c的数据
请大神帮忙指点迷津。谢谢!
是后台处理的时间问题
你需要给 keyup 事件截个流:
var timer $('#input').on('keyup', function(e) { clearTimeout(timer) timer = setTimeout(function() { // DO }, 500) })
这种方法我是知道的,是有效的。
我同事和我一模一样的写法,他的就没有问题,所以我想找找出现这个问题的原因。
或许你需要一个内容过滤,用jQuery写
//表格内容查询框
$(function () {
$("#searchbox").keyup(function () {
$("table tbody tr").hide()
.filter(":contains('"+($(this).val())+"')").show();//filter和contains共同来实现了这个功能。
}).keyup();
});