Javascript can';t使用$获取最近的元素(this)
我使用的是jquery ui自动完成插件,我在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');
$(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)。