2017-07-28 68 views
1

我正在實施購物車,並且我添加了一個subtotal字段,該字段將物品數量和價格相乘,並返回subtotal列中的小計。Javascript小計功能僅適用於表格的第一行

但是,我的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> 

注:我呼籲onload事件calculate()功能<body>標籤。

+2

YPU是給的「價格1」的ID在該片段 - 如果所有的行包含那麼你將有多個ID - 所以只有第一個會被使用。如果你插入每一行的id--你應該能夠在計算中使用這個動態id。 – gavgrif

+0

你能請指導我怎麼不能唯一地給所有行的id? –

+0

'id-SOME_INDEX_HERE' –

回答

0

如果所有的字段都readonly - 然後將總價值與PHP和刪除您的javascript函數:

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

非常感謝它:) –