2017-07-28 5 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> 

注:私は<body>タグでonloadイベントにcalculate()関数を呼び出しています。

+2

Ypuはその抜粋で「price1」のIDを与えている - すべての行がそのあなた含まれている場合複数のIDを持つことになります。最初のIDだけが使用されます。あなたが各行のidをcangeするなら、あなたはその動的idをcaluclationで使うことができます。 – 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

ありがとう、それは動作:) –

関連する問題