2

我同时在多个输入上添加了自动完成功能,因此编写了一个处理函数作为源。我想在我的处理函数中使用原点的 id 属性(触发操作的输入)。但似乎在自动完成中没有直接引用它......

$('#inputForm #supplier, #inputForm #label').autocomplete({
    source: function(request, response) {
        $.post("autocomplete.php", {id: ???, term: request.term}, success);
    }
});

有什么线索吗?

4

2 回答 2

2

知道了!感谢理查德;)

 $(this.element).attr('id')

完整的代码,以防有人感兴趣:

$('input').autocomplete({
    source: function(request, response) {
        $.post("autocomplete.php", {origin: $(this.element).attr('id'), term: request.term}, success);
    }
});
于 2013-08-06T13:23:54.127 回答
0

你可以使用

$(this).attr('id')

我建议您也为所有自动完成功能使用一个类,例如

.autocomplete

并为您的额外数据添加数据,例如

data-id, data-url

您可以通过使用获取 data-xxx 属性的值

$(this).data('id') and $(this).data('url')
enter code here
$(".autocomplete")
.each(function () {
   $(this).autocomplete({
      source : function(request, response) {
    $.post($(this).data('url'), {origin: $(this.).data('id'), term:               request.term}, success);
}
       });
    });
于 2013-08-06T13:31:54.763 回答