我正在尝试使用抽象方法使用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的ID?
感谢您的帮助!
答案 0 :(得分:0)
为什么不喜欢以下代码?它可以给你一个想法......
$(".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);
}
});
});