2017-07-28 6 views
1

Ich implementiere einen Einkaufswagen und ich habe ein subtotal Feld hinzugefügt, das Artikelmenge und Preis multipliziert und die Zwischensumme in der Spalte subtotal zurückgibt.Javascript-Zwischensummenfunktion funktioniert nur in der ersten Zeile der Tabelle

Aber meine JavaScript-Funktion berechnet nur die Zwischensumme für die erste Zeile und nicht für alle Zeilen. Hier

ist der Code:

<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> 

Hinweis: Ich rufe die calculate() Funktion auf dem onload Ereignis in <body> Tag.

+2

Ypu sind die ID „price1“ in diesem Code-Schnipsel zu geben - wenn alle Zeilen enthalten, dass dann Sie wird mehrere IDs haben - und so wird nur die erste verwendet. Wenn Sie die ID jeder Zeile ändern, sollten Sie in der Lage sein, diese dynamische ID in der Berechnung zu verwenden. – gavgrif

+0

Kannst du mir bitte erklären, wie ich ID für alle Zeilen eindeutig vergeben kann? –

+0

'ID-SOME_INDEX_HERE' –

Antwort

0

Wenn alle Ihre Felder sind readonly - dann Gesamtwert mit PHP setzen und entfernen Sie Ihre JavaScript-Funktion:

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

Vielen Dank es funktioniert :) –

Verwandte Themen