簡體   English   中英

添加兩個或多個表單值以獲得總計

[英]Add two or more form values to get a grand total

對於下面的php foreach循環中的每一行,此JavaScript函數都可以獨立工作。 但是,我想將這兩個獨立的總數加在一起以獲得一個總計,並在下面的DIV標簽中顯示它。 我不知道如何撥出這些款額,然后將它們加在一起。 總計應該隨數量的每次更改而更新,就像當前金額一樣。 目前,總價格僅反映一個金額,而不是總計。

<head>
<script type="text/javascript">
function update(iteration){


var qty = document.getElementById('qty_' + iteration).value;
// alert('quantity_' + iteration);

var price = document.getElementById('price_' + iteration).value;
price = price.substring(0, 7);
qty = parseInt(qty);

var amount = (qty * price).toFixed(2) ;
parseFloat(document.getElementById('amount_' + iteration).value = amount).toFixed(2);


//HERE's the code that's not working..
var subtotal;
for(var i =1; i < itemCount; i++) {
subtotal += document.getElementById('amount_' + i).value;
}


//this works
var divobj = document.getElementById('totalPrice');
divobj.style.display='block';
divobj.innerHTML = "Total $"+parseFloat(subtotal);

}
</script>
</head>


<?php

$listitems = unserialize($row["products"]);
    $i=1; 
        foreach($listitems as $item)
        {
        echo '<tr><td>'.$item["code"].'</td><td><input type="number" id="qty_'.$i.'" name="qty_'.$i.'"  min="1" size="3" value="1" onChange="iteration = '.$i.'; update(iteration); " /></td>';
        echo '<td><input type="hidden" name="price_'.$i.'" id="price_'.$i.'"  value="';
        echo $item['price'];
        echo '" />';
        echo $item['price'];
        echo '</td><td><input type="text" name="amount_'.$i.'" id="amount_'.$i.'" size="6" readonly value="';
        echo $item['price'];
        echo '"/></td></tr>';
    $i++;
    }


?>


<div id="totalPrice"></div>

夫妻倆伸出來。

parseInt()需要一個基數參數。

parseInt(qty, 10);

林對此行正在做什么感到困惑:
parseFloat(document.getElementById('amount_' + iteration).value = amount).toFixed(2);

parseFloat返回一個浮點,但是您是否將其設置為任何值?

導致您的錯誤的問題是var subtotal聲明。

您正在聲明一個變量,其amount + itself等於amount + itself不存在。 您希望小計等於什么?

編輯:現在,您已經更新了,您想要迭代項目的數量並將其全部添加在一起。

var subtotal;
for(var i =0; i < itemCount; i++) {
  subtotal += document.getElementById('amount_' + i).value;
}

這將迭代數量元素的0-itemCount。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM