2017-08-03 85 views
-1

沒什麼工作正常。我希望subTotal字段在更改數量時顯示計算的金額。我對Web開發和編程相對來說比較陌生。提前致謝。jQuery動態計算php循環中每行的每個subTotal

HTML

<tr> 
    <td><input id="quantity" type="text" name="name" value="<?php echo $row['name'] ?>" readonly="readonly"></td> 
    <td><input id="quantity-sm" type="text" name="price" class="price" value="<?php echo $row['price'] ?>" ></td> 
    <td> 
     <input type="button" value="-" class="qtyminus" field="quantity"> 
     <input type="submit" name="quantity" class="quantity" value="0" class="qty"> 
     <input type="button" value="+" class="qtyplus" field="quantity"> 
    </td> 

    <td><input id="quantity-sm" type="text" class="subTotal" name="subTotal" ></td></td> 
    </tr> 
    <?php endwhile; ?> 
<tfoot> 
    <tr><td colspan="2"></td><td align="right"><span id="total" class="total"></span> </td></tr> 
</tfoot> 

JQuery的

$(document).ready(function(){ 

update_amounts(); 
$('.qty').change(function() { 
    update_amounts(); 
}); 

});

function update_amounts() 
{ 
    var sum = 0.0; 
    $('#myTable > tbody > tr').each(function() { 
     var qty = $(this).find('.quantity').val(); 
     var price = $(this).find('.price').val(); 
     var amount = (qty*price) 
     sum+=amount; 
     $(this).find('.subTotal').text(''+amount); 
    }); 

    $('.total').text(sum); 
} 
+0

什麼有這個做的PHP循環?你的代碼有什麼問題? – Teemu

+1

你的代碼很容易[SQL注入](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Teh

+1

@Teh我感謝你的警告。這是我第一個針對Web開發的基於項目的學習。我還沒有關心安全性。謝謝。 –

回答

0

.change()只會當用戶使用文本輸入相互作用,並手動地改變其值TRIGER。

您需要做的是將click事件綁定到加號/減號按鈕,然後調用更新數量的代碼。

我假設的加/減按鈕已經工作(他們已經改變qty字段的值)

$('.qtyplus, .qtyminus').click(function() { 
    update_amounts(); 
}); 
0

你把

$('.qty').change(function() { 
    calculate(); 
}); 

$(document).ready()回調? 這確保DOM已準備就緒。

參見 https://learn.jquery.com/using-jquery-core/document-ready/

+0

我編輯了代碼。仍然不起作用。 –

+0

@ user43559「不起作用」不是一個問題描述,請描述你想要你的代碼做什麼,以及它做了什麼。 – Teemu

+0

@ user43559首先,請進入您的瀏覽器並按F12,這應該會打開一個開發控制檯。然後重新加載您的頁面,看看是否有任何錯誤顯示在這個控制檯。 – capfel