Jquery在多个元素改变前调用函数

jquery call function fore multiple elements change

本文关键字:调用 函数 改变 元素 Jquery      更新时间:2023-09-26

我的html是这样的:

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

我有一个for,它为我生成了所有的函数为每个选择,如:

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="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来改变,但我真的不知道它是如何工作的

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

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

在jquery 1.7+中也已弃用。如果你使用的是更新的版本,那么使用jquery .on()