Javascript从mysql计算小计和总计

Javascript从mysql计算小计和总计,javascript,php,mysql,Javascript,Php,Mysql,首先,如果这个问题以前已经被问过并解决过,我很抱歉,但是我找不到我问题的确切答案/解决方案 我的问题是,如果用户更改了数量和/或选择了多个产品,我如何计算总计?我的产品项列表和值来自mysql 以下是我的表格详情: <?php $price = 10.00;?> <input name="qty_<?php echo $obj->product_code;?>" type="text" id="qty<?php echo $obj->product

首先,如果这个问题以前已经被问过并解决过,我很抱歉,但是我找不到我问题的确切答案/解决方案

我的问题是,如果用户更改了数量和/或选择了多个产品,我如何计算总计?我的产品项列表和值来自mysql

以下是我的表格详情:

<?php $price = 10.00;?>
<input name="qty_<?php echo $obj->product_code;?>" type="text" id="qty<?php echo $obj->product_code;?>" value="0" size="2" onkeyup="calculate()">

<input name="subtotal_<?php echo $obj->product_code;?>" type="text" id="subtotal_<?php echo $obj->product_code;?>" value="0.00" size="7" readonly>

<input name="qty_<?php echo $obj->product_code;?>" type="text" id="qty<?php echo $obj->product_code;?>" value="0" size="2" onkeyup="calculate()">

<input name="subtotal_<?php echo $obj->product_code;?>" type="text" id="subtotal_<?php echo $obj->product_code;?>" value="0.00" size="7" readonly>

<input name="grandtotal" type="text" id="grandtotal" value="0.00" readonly>
我使用我的php/mysql结果值作为输入字段名/id,因为提交时更容易识别/传递值

以下是我的Javascript:

function calculate()
{
    var quantity = document.getElementById('<?php echo $obj->product_code;?>').value;
    var currprice = <?php echo $obj->product_code.$obj->product_price;?>;
    var total = quantity * currprice;
    document.getElementById('subtotal_<?php echo $obj->product_code;?>').value = total.formatMoney(2,',','.');
}
那么,如何计算每个产品的小计,并将其显示在总计文本字段中? 我已经在谷歌上搜索过了,但还不能解决我的问题。

1使用正确的ID

数量字段的id与函数中的getElementById不匹配。它应该以数量开始,而不是直接以产品代码开始。此外,为了保持规律性,请将中的id从qty更改为qty

2.正确的结构

现在使用的html有两个ID相同的quantity和subtotal字段。这导致Javascript无法访问这些值。确保区分这些输入字段的名称和ID

PHP: $products=数组 arrayprice=>10,code=>product1, arrayprice=>25,代码=>product2 ; foreach$产品作为$key=>$productInfo{ /*用每个产品的价格回显一个隐藏字段,以便以后计算*/ 回响 /*回显此产品的数量字段*/ 回响 /*回显此产品的小计字段*/ 回响 } /*回显字段以获取总价*/
回响谢谢你简洁的回答。我会让你知道,当我回家和测试它。我过会儿再打给你谢谢你的帮助。非常清晰和简单的解决方案。谢谢你分享一些知识。我真的很感激。非常感谢你再次为你。问题解决了!不客气我也学到了很多,很高兴能报答你的恩惠。