2014-07-24 40 views
1

我的HTML類似:jQuery的通話功能脫穎而出多個元素改變

<html> 
    ... 
    <select class="ra1" id="rate2620_"> ... </select> 
    <select class="ra1" id="rate2621_"> ... </select> 
    ... 
</html> 

我有一對正在生成我所有的功能爲每個選擇,如:

for (i=from; i> to; i--){ 
    var ii = i.toString(); // ii = 2621 or 2620 or ... 
    $("#rate" + i + "_").live("change", {pos: ii} ,function(e){ 
     sendValue($(this).val(),e.data.pos); 
    }); 
} 

我想改變我代碼,以作用爲類的功能= 「RA1」 類似的信息(不工作):

$('.ra1').live("change", function(e){ 

    var id = $(this).children(":selected").attr("id"); // get the id element 
    id = id.replace(/\D/g,''); // convert from id="rate2620_" to> id="2620" 

    sendValue($(this).val(),id); 
}); 

所以{pos:ii} ii應該用id來改變,但我真的沒有ideea它是如何工作的。

回答

3

您正在使用錯誤的ID選擇器。它應該是:

var id = $(this).attr("id");//or this.id for pure JS 

也住在jquery 1.7+已被棄用。如果你正在使用更高版本,然後使用jquery .on()

+2

'this.id'也這樣做,我會說這是更好的使用。 – Jai

+1

@Jai:是的。這個想法是他正在使用錯誤的ID選擇器。謝謝:) –

+0

感謝它現在的作品。現在它看起來很乾淨的一個功能:D –