如何获取调用jquery自动完成函数的控件的id?

我想在几个输入框中使用jquery自动完成插件。 为了保持我的代码DRY,我想将自动完成function绑定到一个类,并在自动完成function中传递已将其称为额外参数的字段的id。 我正在努力的是获得调用该函数的字段的id。 我正在做的示例代码如下; 有谁能看到这个问题?

$(".className").autocomplete('', { dataType: 'json', parse: function(data) { var rows = new Array(); for (var i = 0; i < data.length; i++) { rows[i] = { data: data[i], value: data[i], result: data[i] }; } return rows; }, formatItem: function(row) { return row; }, extraParams: { extra: function() { var Field1 = $(this).attr('id'); var Field2 = $("#Field1").val(); var Field2 = $("#Field2").val(); var Field3 = $("#Field3").val(); return Field1 + "$" + Field2 + "$" + Field3 + "$" + Field4; } }, delay: 40, autofill: true, selectFirst: false, multiple: false }); 

你确定是传递给你的extraParams函数吗? 如果没有,那么您可以使用以下内容:

 $(".className").each(function(){ var el = $(this); ..... extra: function() { var Field1 = el.attr(id); } }); 

这将允许您将每个自动完成绑定到其自己的特定元素。