作为一名java开发者,这些年写的最多的可能也就是增删改查了。在管辖类系统中存在大量的查询页面,用户输入给中查询条件,来获取自己想要的数据记录。
如何在用户输入时能够自动根据用户输入数据自动查询,避免用户过多操作,提升系统的友好性。在使用Jquery时,通过绑定input的propertychange事件可以简单的实现,例如$('input[type="text"]').bind("input propertychange",search),当输入框信息改变时会自动调用我们提前准备好的查询方法。
以上方法确实没有什么问题,但是存在另外一个问题就是用户在输入时会不断触发该事件,这样就会不停的查询数据,这样就产生了大量的无效查询,我们应该减少用户输入过程中的无效查询次数,当用户输入时应延迟查询当在该延迟范围内用户再次输入时,增加延迟时间。例如
function bindSearch(search){
var timeHandle = null;
function autoSearch(){
if(timeHandle != null){
clearTimeout(timeHandle);
timeHandle = setTimeout(search, 500);
}
}
$('input').bind('input propertychange', autoSearch);
}