0

type input=textnamedの要素を追加するとname="algumacoisa[number]"

フィールドを追加するたびに値を合計する必要があります。フィールドの数をカウントしてそれらの値を合計するフィールドが表示されないため、[appears
] を使用すると機能しません。.each()$('[name="algumacoisa[]"]').each()

何か案が?

どんな助けでも大歓迎です。

ありがとう

4

3 に答える 3

1

この関数は、値が数値として解釈できる限り、すべてのフィールド値を合計します。

function sumFields() {
    var total = 0;
    $('input[type="text"][name^="algumacoisa"]').each(function(){
        var fieldVal = parseFloat($(this).val());
        if(!isNaN(fieldVal)) {
            total += fieldVal;
        }
    }
    return total;
}

新しいフィールドを追加するたびに、sumFields()(新しいフィールドがDOMに追加されたに)実行すると、合計値が返されます

于 2012-08-06T18:09:55.110 に答える
1
var sum = 0;
$(':input[name^="algumacoisa"]').each(function(){
   var value = $.trim( this.value );
   if( $.isNumeric( value ) ) {
      sum += parseInt( value, 10 );
   }
});

$.isNumeric()について。

これには関数を使用することもできます。

function getSum() {
    var sum = 0;
    $(':input[name^="algumacoisa"]').each(function() {
        var value = $.trim(this.value);
        if ($.isNumeric(value)) {
            sum += parseInt(value, 10);
        }
    });
    return sum;
}

デモ

コメント new demo によると

于 2012-08-06T17:45:49.207 に答える
0

このようにしてください:

var sum=0;
$('input[name^="algumacoisa["]').each(function(){
    sum += Number(this.value);            
});
alert(sum);

ライブデモを参照

于 2012-08-06T17:58:15.820 に答える