1

私は基本的な注文フォームを持っています。すべての入力から値を合計したいと思います。しかし、項目を追加すると、プログラムはそれらを要約する文字列 (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 に答える