我想要做一個發票腳本,我需要做一些計算。用戶將輸入數量字段和價格字段。系統必須乘以數量*價格並顯示數量字段。總金額應顯示在grandtotal字段中。我試着瀏覽並做了一些事情。它的工作正常<span>
,但是當我給一個文本框不工作。蔭非常新的jQuery和IAM沒有得到地方IAM製作mistake.My HTML如下:使用jquery計算每行使用grandtotal的價格
<table id="myTable">
<thead>
<tr><th>Product name</th><th>Qty</th><th>Price</th>
<th align="center"><span id="amount" class="amount">Amount</span> </th></tr>
</thead>
<tfoot>
<tr><td colspan="2"></td><td align="right"><span id="total" class="total">TOTAL</span> </td></tr>
</tfoot>
<tbody>
<tr>
<td>Product 1</td><td><input type="text" class="qty" name="qty"></td>
<td><input type="text" value="11.60" class="price"></td>
<td align="center"><input type="text" class="amount" id="amount"><span id="amount" class="amount">0</span></td>
</tr>
<tr><td>Product 2</td><td><input type="text" class="qty" name="qty"></td>
<td><input type="text" value="15.26" class="price"></td>
<td align="center"><input type="text" class="amount" id="amount"><span id="amount" class="amount">0</span></td></tr>
<tr><td></td><td></td><td></td><td><input type="text" class="total" id="total"></td></tr>
</tbody></table>
我jQuery是如下:
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(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('.qty').val();
var price = $(this).find('.price').val();
var amount = (qty*price)
sum+=amount;
$(this).find('.amount').text(''+amount);
});
//just update the total to sum
$('.total').text(sum);
}
});//]]>
</script>
還是有一個更好的方法來處理相同的問題。請幫我解決這個問題。
我需要的只是金額和總來在文本框中。到目前爲止,它使用跨度類。而不是跨班我需要它在一個文本框中,這樣我可以將值保存到我的分貝。 –
@SanjuMenon:https://jsfiddle.net/qvbwt759/和https://jsfiddle.net/qvbwt759/。您必須僅將輸入元素與'.val()'一起設置其值。 –
即使金額必須在文本框中而不是跨度。 –