我正试图使用抽象方法通过jqueryUI的自动完成发送额外的参数。正在使用的html的精简版本是:
<form id='employees'>
<input class='autocomplete' name='id_number' />
</form>
我需要的是能够找到相对于任何自动完成输入的父项的id(因为一个页面上可能有多个)。到目前为止,我的代码是:
$(".autocomplete").autocomplete({
source: function(request, response) {
$.ajax({
url: "search.php",
data: {
form_id: // need help!
string: request.term
},
success: function( data ) {
// do stuff
}
});
}
});
因此,我需要作为form_id发送的是:
$(this).parent().attr('id')
然而,问题是,在$.ajax调用的源函数中使用$(this)一次会丢失对原始元素的引用,在此之前,我看不出有任何意义可以创建一个引用原始元素的变量。
如何获取要作为参数发送的父对象的id?
谢谢你的帮助!
为什么不喜欢下面的代码?它可以给你一个想法。。。
$(".autocomplete").each(function() {
var ac = $(this);
var parentId = $(this).parent().attr('id');
ac.autocomplete({
minLength: 3,
source: function(request, response) {
findSuggestions(request, response, 'artist', artist_cache, parentId);
}
});
});