无法使用$(this)获得最近的元素

时间:2019-05-06 13:31:30

标签: javascript jquery jquery-ui autocomplete

我正在使用jquery ui自动完成插件,并且在$(this).closest('.ajaxquery').data('src')中出现错误 我调试时在控制台中收到未定义的错误消息,因为我的HTML DOM中有ajaxquery元素。 这是我的代码:

function _autoComplete(){
    $(document).on('focus', '.auto-complete', function(){
        var type = $(this).data('type');
        $(this).autocomplete({
            source : function(request, response){
                $.ajax({
                    url : $(this).closest('.ajaxquery').data('src'),
                    dataType : 'json',
                    method : 'post',
                    data : {
                        value: request.term,
                        field : type
                    },
                    success : function(data){
                        response($.map(data.result, function (item){
                            return window[data.methodName](item);
                        }));
                    }
                });
            },
            autoFocus: true,            
            minLength: 0,
            select: function(event, ui){
                selectedItemId = $(this).attr('id').split('-');
                window[data.methodName](ui, 'onSelect');
                return false;
            }
        });
    });
}

在这里我调用函数:

$(function(){
        _autoComplete();
    });

0 个答案:

没有答案