我正在实现一个购物车,并且添加了一个subtotal字段,该字段将项目数量和价格相乘并返回subtotal列中的小计。

但是,我的JavaScript函数仅计算第一行的小计,而不是所有行的小计。

这是代码:

<td style="text-align: left; width: 80px;">PKR<input style="width: 70px;" type="number" id="price1" value="<?php echo $values["item_price"];?>" readonly ></td>
<td style="text-align: center; width: 80px;"><br/><input style="width: 60px; " form="myform" type="number"  name="qty[<?php echo $values["item_id"]; ?>]" id="qty" value="<?php echo $values["item_quantity"];?>"></td>
<td style="text-align: left; width: 80px;">PKR<input style="width: 70px; " form="myform" type="number" id="total" value="" readonly></td>

<script type="text/javascript">
  var price1=document.getElementById("price1").value;

  function calculate1() {
    var quantity1 = document.getElementById("qty").value;
    var x = price1 * quantity1;
    document.getElementById("total").value = x;
  }
</script>


注意:我正在calculate()标记中的onload事件上调用<body>函数。

最佳答案

如果您所有的字段均为readonly-然后使用php设置总值并删除javascript函数:

<input
    style="width: 70px; "
    type="number"
    value="<?php echo ($values["item_quantity"] * $values["item_price"]) ?>"
    readonly>

10-05 20:42
查看更多