jQuery自动完成 - 获取自动完成输入字段的ID

时间:2011-02-25 18:25:51

标签: jquery jquery-plugins jquery-autocomplete

我有这个jQuery代码:

$(".autocomplete").autocomplete('url',{
  extraParams: {country: function(){
    var id = $(this).attr("id"); // not working
    var country = id.replace("uni", "country");
    var country_id = $("#"+country).val();
    return country_id;
  }}            
}).result(function(event, item) {
 // getNames(item);
});

因为我将有几个,带有自动填充字段的ajax加载表单, 我需要为他们每个人发送适当的附加参数 从各自的表格到服务器。

我试图通过获取输入字段的id并使用它来获取将保存必要参数的country字段的id来实现此目的。 id将采用适当的格式以允许此操作。类似的东西:

uni_1,country_1; uni_2; country_2

uni是自动填充字段,国家/地区是附加参数。

我已经意识到$(this).attr(“id”)在自动完成中不起作用,就像简单的jQuery事件一样,我还没有找到这样做的方法。我尝试使用toSource方法来查看自动完成对象,但似乎它不包含字段ID。

因此,如果有人知道如何做到这一点,请分享。

非常感谢您提前。 伊万

1 个答案:

答案 0 :(得分:6)

你可以尝试

$(".autocomplete").each(function() {
  var id = $(this).attr("id");
  $(this).autocomplete('url',{
      extraParams: {country: function(){
        var country = id.replace("uni", "country");
        var country_id = $("#"+country).val();
        return country_id;
      }}            
    }).result(function(event, item) {
     // getNames(item);
    });
});