2014-07-24 109 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 –