gpt4 book ai didi

javascript - 删除动态列的值的总和计算错误

转载 作者:行者123 更新时间:2023-11-29 23:42:21 24 4
gpt4 key购买 nike

我正在尝试创建一个餐厅订单表,在其中我在文本框中输入值,并在使用 Ajax 单击按钮后显示在列表中,其中包含小计和总计。

我的问题是小计总和给出了错误的值如果我点击删除按钮也不会改变。

|数量 |价格|小计|
| 10 | 3.50 | 35.00 |
| 10 | 9.00 | 90.00 |

总计:180.00 而不是 125.00

其中它计算了行数 x 最后一个小计值。

请查看随附的 TIA 代码片段!

var impo = document.getElementById("imp_text");
var quant = document.getElementById("qta");

$(document).on("click", "table.dynatable button.delete-row", function() {
$(this).parents("tr").remove();
});

function loaddata() {
var importo = $("#imp_text").val();
var quantita = $("#qta").val();
var totale = importo * quantita;
var desc_importo = "Altro ";
var markup = "<tr><td><span class='sum_qta' name='sum_qta'>" + quantita + "</span></td><td>" + desc_importo + "</td><td>" + importo + "</td><td class='subtot' >" + totale + "</td><td><button type='button' class='delete-row'>X</button></td></tr>";

$("table.dynatable tbody").append(markup);

var $tblrows = $("#tableordine tbody tr");
$tblrows.each(function(index) {
var $tblrow = $(this);

if (!isNaN(totale)) {

$tblrow.find('.subtot').val(totale.toFixed(2));
var grandTotal = 0;

$(".subtot").each(function() {
var stval = parseFloat($(this).val());
grandTotal += isNaN(stval) ? 0 : stval;
});

$('.grdtot').val(grandTotal.toFixed(2));
}

});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<html lang="en">

<head>
</head>

<body>
<font color="black">

<table class="table dynatable" id="tableordine">
<thead>
<tr>
<th>Qty</th>
<th>Import</th>
<th>Price</th>
<th>subtotal</th>
</tr>
</thead>
<tbody>

</tbody>
</table>

<hr/> Totale:<input type="text" class="grdtot">

<hr/>
<FORM name="Keypad" action="">
Import : <input name="ReadOut" id="imp_text" type="Text" size=24 value=" "> Quantity : <input type="text" name="readqta" id="qta" value="1" />
<p>

<input type="button" id="entraordine" class="add-row menu_button" value="Entra" onclick="loaddata();" />
</form>
</body>
</html>

最佳答案

这里是解决方案 https://jsfiddle.net/tbskqrby/

$(document).on("click", "table.dynatable button.delete-row", function() {
$(this).parents("tr").remove();
rowCal();
});

rowCal = function(){
var $tblrows = $("#tableordine tbody tr");
$tblrows.each(function(index) {
var $tblrow = $(this);

if (!isNaN(totale)) {

$tblrow.find('.subtot').val(totale.toFixed(2));
var grandTotal = 0;

$(".subtot").each(function() {
var stval = parseFloat($(this).val());
grandTotal += isNaN(stval) ? 0 : stval;
});

$('.grdtot').val(grandTotal.toFixed(2));
}

});
}

关于javascript - 删除动态列的值的总和计算错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com