Javascript can';t使用$获取最近的元素(this)

Javascript can';t使用$获取最近的元素(this),javascript,jquery,jquery-ui,autocomplete,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');

我使用的是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();
    });

Χριστός Ανέστη. 尝试将其传递给ajax函数。将它添加为一个参数。我修正了这个错误,谢谢<代码> $(this)。尝试将其传递给ajax函数。将它添加为一个参数。我修正了这个错误,感谢<>代码> $(this)。