0
在我的代码中,我将一个keyup
事件绑定到我的输入以检查输入值的长度是否为3. 如果是,我向获取记录的服务器发出Ajax调用从我的数据库开始,输入这3个字符,然后用源代码 - 数据库中的数据启动jQuery自动完成。在我的Ajax调用服务器之后立即启动jQuery自动完成
问题是,当用户输入三个大字,我得到的信号源。autocomlete,只有当他进入第四个字符的自动完成启动。是否有可能改变这种行为,并尽快输入3个字符并让源开始自动完成?
这里是我的代码:
var keypresshandler = function() {
var strin = document.getElementById('txtInput').value;
newstr = strin.replace(/[^\u0400-\u04FF0-9]/gi, '');
if (newstr.length<3)
{
$("#txtInput").autocomplete("destroy");
} else
if (newstr.length==3)
{
triming();
}
}
$(function() {
$('#txtInput').bind('keyup', keypresshandler);
});
function triming() {
//make asynchronous ajax call to server to get the source of my autocomplete
// alert (mec.length);
$("#txtInput").autocomplete({source: mec});
}
}
不,我不能叫两个字符后,修边,因为有两个大部分记录是有任何其他方式 –
@MilkaSalkova:你试过了吗?它只能在下一个按键之后发送请求,所以它会用三个查询!如果你仍然害怕,为什么不使用'minLength:3'选项? –
我用它 - 不起作用! –