2011-02-25 117 views
5

我有这样的jQuery代码:jQuery的自动完成 - 获取自动完成输入字段的ID

$(".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并使用它来获取国家/地区字段的id来实现此目的,该字段将保存必要的参数。该ID将以适当的格式允许这一点。例如:

uni_1,country_1; uni_2; country_2

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

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

所以,如果任何人有一个想法如何做到这一点,请分享。

非常感谢您提前。 伊万

+0

哪个自动完成您使用(它看起来并不像jQuery UI的一个)插件? – Mottie 2011-02-25 18:35:15

回答

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); 
    }); 
});