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
选项?