4

入力フィールドの数が不明で、クラス「add」があります。これらをjqueryで合計したいのですが、どこが間違っているのかわかりません。

<input name="add" class="add" type="text">
<input name="add" class="add" type="text">
<input name="add" class="add" type="text">
<input name="add" class="add" type="text">

<input type="button" value="" onClick="add()" />

`

function add(){
        val = 0;
        $(".add").each(function() {      
            str = (parseInt(this.value))
            sum=str+str
        });
        alert (sum)
    }

`

4

3 に答える 3

7

実際に何かを追加することはありませんsum:

function add() {
    var sum = 0;
    $(".add").each(function() {   
        sum += +this.value;
    });
    return sum; // an add function shouldn't really "alert"
}

整数のみをサポートすることを意図している場合は、parseInt(this.value, 10)代わりに [radix パラメータに注意] を使用します+this.value

function add() {
    var sum = 0;
    $(".add").each(function() { 
        var str = this.value.trim();  // .trim() may need a shim
        if (str) {   // don't send blank values to `parseInt`
            sum += parseInt(str, 10);
        }
    });
    return sum;
}

http://jsfiddle.net/alnitak/eHsJP/を参照

于 2012-05-12T12:10:16.527 に答える
4
function add(){
    var sum = 0;
    $(".add").each(function() {
        var val = parseInt($(this).val(), 10)
        sum += (!isNaN(val) ? val : 0);
    });
    alert(sum);
}

編集:鋭い目、括弧を取得... =)そしてスペース。

于 2012-05-12T12:05:10.493 に答える