如何在多个文本框字段上捕获onchange事件

时间:2011-04-14 18:55:46

标签: jquery

HTML code:

<input type="text" name="percentage[]" value="1"/>
<input type="text" name="percentage[]" value="2"/>
<input type="text" name="percentage[]" value="3"/>

我希望能够在任何'百分比'文本字段更改时使用JQuery捕获更改事件,并找到所有这些字段的总和。因此,如果第一个字段的值从1变为5,我希望能够显示“10”。

2 个答案:

答案 0 :(得分:1)

假设您有另一个元素来显示总和,而没有其他输入元素,这将起作用:

$("input[type=text]").change(function() {
        // Clear the sum
        $("#sum").text("0");

        // Sum the values
        $("input[type=text]").each(function() {
                $("#sum").text( parseInt($("#sum").text()) + parseInt($(this).val()))
            });
    });

它捕捉元素的变化,然后遍历所有元素并总结它们。

答案 1 :(得分:1)

您也可以使用以下内容:

$("input[type='text'][name^='percentage']").keyup(function(){
   alert(sumThemUp());
});

function sumThemUp(){
    var sum = 0;
    $("input[type='text'][name^='percentage']").each(function(){
        sum+= parseInt($(this).val());
    });
    return sum;
};

jsfiddle的工作示例。

您还可以检查jQuery API以选择可能更适合您的选择器。有许多变体,如!=,〜=,* =等。