1

クラス名が複数のテキストボックスが.paymentamountあります。同じクラスのテキストボックスのすべての値を追加したいのですが、エラーnan.Codeが表示されます。

function paymentData()
{
    $('.paymentamount').keyup(function(){
        var amountSum=0;
        $('.paymentamount').each(function(){
            amountSum+=parseInt(this.value);
        //console.log(this.value);
        });
        console.log(amountSum);

        });
}
4

5 に答える 5

2
   1. $.trim($(this).val())
   2. make use of $(this).val()
   3. check before adding var match = /^[0-9]$/.test(value); 

コードをこのように変更した後の最終的なコード

 $('.paymentamount').each(function(){
           var value = $.trim($(this).val()); 
           var match = /^[0-9]$/.test(value); 
           if(match)
             amountSum+=parseInt(value);
         //console.log(this.value);
         });
于 2012-05-15T08:04:48.580 に答える
1
function paymentData()
{
    $('.paymentamount').keyup(function(){
        var amountSum=0;
        $('.paymentamount').each(function(){
            amountSum+=parseFloat($.trim($(this).val()));

        });
        console.log(amountSum);

        });
}
于 2012-05-15T08:09:52.327 に答える
1

Hiya Demo http://jsfiddle.net/MaK2k/1/ またはhttp://jsfiddle.net/AKnvr/を使用$.isNumeric

**Code**


$('.paymentamount').keyup(function(){
   var amountSum=0;
    $('.paymentamount').each(function(){
        if (this.value != "")
           amountSum+=parseInt(this.value);

    });

    $(".paymentamountlable").text(amountSum);


    });

</p>

于 2012-05-15T08:09:57.800 に答える
0
$('.paymentamount').keyup(function(){
    var amountSum=0;
    $('.paymentamount').each(function(){
        if(parseInt(this.value) > 0)
        {
        amountSum = parseInt(this.value) + parseInt(amountSum);
        }
    }); 

 console.log(amountSum);
});



Try this
于 2012-05-15T08:20:25.600 に答える
-1

試してみてください:

amountSum+=parseInt($(this).val());
于 2012-05-15T08:08:45.773 に答える