JQuery:如何在焦点上调用自动完成功能?

时间:2017-05-17 06:30:28

标签: javascript java jquery jquery-ui autocomplete

我有一个自动完成功能,工作得很好,但现在我正在尝试做的是调用自动完成功能onfocus,我试过但是没有工作。

以下是我的代码:

function myAutoComplete() {

        var label = "No Results";
        var error="Error";

        $("#myForm\\:autocomplete").autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "#{request.context}/rest/myFunctionPath",
                    dataType: "json",
                    type:'POST',
                    data: {
                        de : request.de,
                        id : id
                    },
                    success: function(data) {
                        if(data.length==0)
                            response([label]);
                        else
                            response(data);
                    },
                    error: function( jxhr, textStatus, errorThrown){
                        var result = [error];
                        response(result);
                    }
                });
            },
            select : function(event, ui) 
            {
                if (ui.item.label == label || ui.item.label == error) {
                    event.preventDefault();
                    return false;
                } else {

                }
            },
        }).focus(function(){            
            $(this).data("autocomplete").search($(this).val());
        });
    };

如何在文本框的焦点上调用上述自动完成功能?。

当我点击文本框时出现错误

TypeError: $(...).data(...) is undefined

请指导

1 个答案:

答案 0 :(得分:0)

尝试在焦点函数

中调用myAutoComplete()

使用此

$( "#target" ).focus(function() {
  myAutoComplete();
});