Javascript 在对服务器进行Ajax调用后立即启动jQuery自动完成
在我的代码中,我将一个Javascript 在对服务器进行Ajax调用后立即启动jQuery自动完成,javascript,jquery,Javascript,Jquery,在我的代码中,我将一个keyup事件绑定到我的输入,以检查输入值的长度是否为3。 如果是的话,我会向服务器发出一个Ajax调用,从我的数据库中获取记录,这些记录以输入的这3个字符开始,然后使用源代码(数据库中的数据)启动jQuery自动完成 问题是,当用户输入三个字符时,我得到了自动编译的源代码,只有当用户输入第四个字符时,自动编译才会开始。是否有可能在输入3个字符并获取源代码后立即更改该行为以开始自动完成 这是我的密码: var keypresshandler = function () {
keyup
事件绑定到我的输入,以检查输入值的长度是否为3。
如果是的话,我会向服务器发出一个Ajax调用,从我的数据库中获取记录,这些记录以输入的这3个字符开始,然后使用源代码(数据库中的数据)启动jQuery自动完成
问题是,当用户输入三个字符时,我得到了自动编译的源代码,只有当用户输入第四个字符时,自动编译才会开始。是否有可能在输入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});
}
}
var keypresshandler=函数(){
var strin=document.getElementById('txtInput').value;
newstr=strin.replace(/[^\u0400-\u04FF0-9]/gi,”);
if(newstr.lengthSimple:在两个字符后调用trimming()
您看到的效果是,autocomplete().不,我不能在两个字符后调用triming,因为有两个多记录!还有其他记录吗way@MilkaSalkova:您试过了吗?它应该只在下一次按键后发送一个请求,因此它将用三个键进行查询!如果您仍然害怕,为什么不使用minLength:3
选项?