现在我正在工作 laravel 项目,使用 javascript 实现实时计算结果。但条件是,实时计算在 foreach() 代码中。情况是这样的
背景黄色是<input>
代码
背景红色是Javascript实时计算的结果
实时计算有两种实现方式:
获取每行的结果“Total Each”
获取每列的结果“总计”
现在起。我只能获得“美元价格”列和“折扣”列的“总计”。
问题是 :
我仍然无法获得每行“Total Each”的实时结果, E2 = C2-(C2*D2), E3= C3-(C3*D3), E4= C4-(C4*D4), E5= C5-(C5*D5)
“总计”列的总计,E6 = E2 + E3 + E4 + E5
$(document).ready(function() {
$(".price").keyup(function() {
var totalprice = 0;
$.each($(".price"), function(key, input) {
if (input.value && !isNaN(input.value)) {
totalprice += parseFloat(input.value);
}
});
$("#totalprice").html(totalprice);
});
$(".discount").keyup(function() {
var totaldiscount = 0;
$.each($(".discount"), function(key, input) {
if (input.value && !isNaN(input.value)) {
totaldiscount += parseFloat(input.value);
}
});
$("#totaldiscount").html(totaldiscount);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<table>
<tr>
<td>Name</td>
<td>Items</td>
<td>Price in dollar</td>
<td>Discount %</td>
<td>Total Each</td>
</tr>
@foreach ($buyers as $key => $val)
<tr>
<td>{{ $val['name'] }}</td>
<td>{{ $val['items'] }}</td>
<td><input class='price' name="price[ {{$key}} ][ {{$val['id']}} ]" type="text"></td>
<td><input class='discount' name="discount[ {{$key}} ][ {{$val['id']}} ]" type="text"></td>
<td> ?get total each? </td>
</tr>
@endforeach
<tr>
<td rowspan="2">Grand Total</td>
<td><span id="totalprice"></span></td>
<td><span id="totaldiscount"></span></td>
<td> get "grand total" from "total each" </td>
</td>
</table>
aluckdog