jquery调用函数,用于多个元素的更改

时间:2014-07-24 07:14:36

标签: javascript jquery

我的html类似于:

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

我想将我的代码更改为一个代表class =&#34; ra1&#34; 像(不工作)的东西:

$('.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改变,但我真的没有想法它是如何工作的。

1 个答案:

答案 0 :(得分:3)

您使用了错误的ID选择器。它应该是:

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

live也在jquery 1.7+中被弃用了。如果您使用的是更高版本,请使用jquery .on()