如何在jquery中使用.live和autocomplete?

如何在jquery中使用.live和autocomplete?,jquery,autocomplete,live,Jquery,Autocomplete,Live,我想使用autocomplete with.live函数,但它给出了语法错误 $("input[name=point]").live(function() { $(this).autocomplete({ minLength:0, //for local data delay:0, //for local data source:function(request,response){ //var par

我想使用autocomplete with.live函数,但它给出了语法错误

$("input[name=point]").live(function() {
    $(this).autocomplete({
        minLength:0,   //for local data
        delay:0,      //for local data
        source:function(request,response){
            //var param= {"action":"getSalePoints"};
            $.getJSON("controllers/Order.controller.php?action=getSalePoints",request,function(result){
                //create array for response objects
                var suggestions = [];
                //process response
                $.each(result, function(i, val){                                
                    //alert(val.number);
                    suggestions.push(val.number);
                });

                //pass array to callback
                response(suggestions);
            });


        },
        select: function( event, ui ) {
            var param={
                "action":"getSalePointNo",
                "point":ui.item.value
                };
            $.getJSON("controllers/Order.controller.php",param,function(result){            
                if(result == "0"){
                    $('#resultMsg').attr('class','errorMsg');
                }
                else{
                    alert(result);
                    $('[name=pointNo]', $(this).parents(".bill")).val(no);
                }

            });
        }
    });
});
实时功能需要:

.live事件类型,处理程序 描述:现在和将来,为与当前选择器匹配的所有元素的事件附加一个处理程序


您没有提供eventType,因此在jQuery尝试将函数作为字符串和未定义的值作为函数使用时,您将在其内部触发一个错误。

正如“mu is to short”所建议的,您没有将事件类型提供给live函数,您可以尝试使用“focus”作为事件类型,请尝试:

$("input[name=point]").live("focus", function() {
$(this).autocomplete({
    minLength:0,   //for local data
    delay:0,      //for local data
    source:function(request,response){
        //var param= {"action":"getSalePoints"};
        $.getJSON("controllers/Order.controller.php?action=getSalePoints",request,function(result){
            //create array for response objects
            var suggestions = [];
            //process response
            $.each(result, function(i, val){                                
                //alert(val.number);
                suggestions.push(val.number);
            });

            //pass array to callback
            response(suggestions);
        });


    },
    select: function( event, ui ) {
        var param={
            "action":"getSalePointNo",
            "point":ui.item.value
            };
        $.getJSON("controllers/Order.controller.php",param,function(result){            
            if(result == "0"){
                $('#resultMsg').attr('class','errorMsg');
            }
            else{
                alert(result);
                $('[name=pointNo]', $(this).parents(".bill")).val(no);
            }

        });
    }
});

})

我尝试了两个签名,但是。实时“键控”,处理程序不起作用too@sasola:keyDown不是您想要的,它会在每个键上绑定自动完成程序,并且您希望在按下任何键之前绑定自动完成程序。