如何从字段值中删除NaN并显示值?

时间:2013-10-10 13:23:41

标签: javascript jquery

我创建了一个动态表单,如果我删除了一行,那么在循环结果中,当我删除元素时,我想要删除的元素的NaN,其0值不通过NaN。就像我在1 = 5时删除第5个元素一样,它显示NaN。如何删除此错误,而是0将添加总和值,我怎么办?

$("body").on('change', '.quantity', function() {
    var that = $(this);
    if ($('#itemcounter').val()==""){
        $('#itemscounter').val("1");
        var counter=$('#itemscounter').val();
        var quantity=$('#quantity').val();
        var unitprice=$('#unitprice').val();
        var linetotal=quantity*unitprice;
        that.parent().find('.linetotal').val(linetotal) 
        $("#invoicetotalamount").val(+linetotal)
        var discount=document.getElementById('discount').value ;
        var discountamount= discount/100 * linetotal;
        var amount=linetotal-discountamount;
        $("#balanceamount").val(+amount);

    } else {            
        var counter=$('#itemscounter').val();
        var quantity=$('#quantity').val();
        var unitprice=$('#unitprice').val();
        var linetotal=quantity*unitprice;
        $('#linetotal').val(+linetotal);
        var sum=linetotal;

        for (i = 2; i <=counter; i++) {
            var quantity=parseFloat($('#quantity' + i).val());
            var unitprice=parseFloat($('#unitprice' + i).val());
            var linetotal=quantity*unitprice;
            $('#linetotal' + i).val(+linetotal);
            alert(sum);         
            sum=+sum +(+(linetotal));           
        }

        $("#invoicetotalamount").val(+sum); 
        var discount=document.getElementById('discount').value ;
        var discountamount= discount/100 * sum;
        var amount=sum-discountamount;
        $("#balanceamount").val(+amount);
    }
});

3 个答案:

答案 0 :(得分:4)

检查值是否为这样的数字:

var quantity=parseFloat($('#quantity' + i).val());    
if(isNaN(quantity)){
    quantity=0;
}

答案 1 :(得分:0)

您可以使用if else循环查看动态数据:

var str_val = $('#itemscounter').val();

if(str_val == NaN){
   str_val =0;           //use str_val at the place you want
   alert(str_val);
}

答案 2 :(得分:0)

您可以查看它是否为NaN

var quantity = !isNaN($('#quantity' + i).val()) ? parseFloat($('#quantity' + i).val(), 2) : 0;