各行の価格を計算することに悩まされています。数量項目を選択すると、両方の行に対して同じ価格が印刷されます。ここで各行の価格を計算します
は私のデモは https://jsfiddle.net/keyro/fw8t3ehs/2/
で事前にありがとうございます。
Htmlの
<table class="table table-condensed table-hover" id="myTable">
<thead>
<tr>
<th>Product</th>
<th class="text-center">Quantity</th>
<th class="text-right">Price ($)</th>
</tr>
</thead>
<tbody class="body">
<tr data-id="1" data-price="20.00">
<td>Apple ($20)</td>
<td><select class="form-control product_quantities" name="product_quantities[]">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td class="text-right amount" name="amount[]">0</td>
</tr>
<tr data-id="2" data-price="15.00">
<td>Banana ($15)</td>
<td><select class="form-control product_quantities" name="product_quantities[]">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
<td class="text-right amount" name="amount[]">0</td>
</tr>
<tr>
<td class="text-right bold">TOTAL</td>
<td class="text-center bold">1</td>
<td class="text-right bold"><b class="total">0</b></td>
</tr>
</tbody>
</table>
Javascriptを
function totalamount() {
var q = 0;
var rows = document.getElementById('myTable').getElementsByTagName("tbody")[0].getElementsByTagName("tr").length;
for(var i = 0; i < rows; i++){
var z = $('.amount').html();
q +=z;
}
$('.total').html(z);
}
$(function() {
$('.body').delegate('.product_quantities','change',function(){
var tr = $(this).parent().parent();
var qty = tr.find('.product_quantities option:selected').attr('value');
var price = tr.data('price');
var total = (price * qty);
$('.amount').html(total);
totalamount()
});
});
、あなたたちをあなたのすべてをありがとうございます。それは完全に動作します。それを感謝しました! – Khai
@Khai nice!受け入れられたとマークするか、あなたのためにうまくいく答えをアップヴォートすることを忘れないでください。 – DontVoteMeDown