1

我有基本的订单,我想对所有输入的值求和。但是当我添加项目时,程序会将这些值添加到一个字符串 insted 来总结它们(totalUnits)。

工作 jsfiddle:http: //jsfiddle.net/nitadesign/97tnrepg/48/

以及将您的注意力吸引到正确位置的代码部分

function CalculateTotal(){
var total = 0;
for(i = 0; i< orders.length; i++){
    total = total + orders[i].packTotal;
}
console.log(total);
console.log(totalUnits);

if(total > 0){
    var counter = 0;  
    $("input[type=text]").each(function(){
    if($(this).val() != "" && $(this).val() != 0) counter++;
    });

    var totalUnits = 0; 
    $("input[type=text]").each(function(){
        packUnit = $(this).val();
        totalUnits = totalUnits + packUnit;
        });

    $("#order_total").html('Ordered Products:' + counter + '<br>' + 'Total Items:' + totalUnits + '<br>' + 'Order Subtotal: ' + total);
    $("#order_total").show();
    $('.submitorder').show();
}
if(total == 0){
    $("#order_total").html('Your shopping basket is empty');
    $("#order_total").show();
    $('.submitorder').hide();
}
}

非常感谢你的帮助。

4

1 回答 1

1

您必须使用parseInt()将字符串转换为整数


parseInt获取输入值时使用:

var packPrice = parseInt($('#pack' + curId + '-price').val());
var packUnit = parseInt($(this).val());

在您的calculateTotal()功能中:

$("input[type=text]").each(function(){
    packUnit = parseInt($(this).val());
    totalUnits = totalUnits + packUnit;
});

小提琴

于 2015-09-04T10:41:10.370 回答