如何使用 jquery 删除输入数据?
Posted
技术标签:
【中文标题】如何使用 jquery 删除输入数据?【英文标题】:How can i delete input data with jquery? 【发布时间】:2019-11-28 21:50:41 【问题描述】:我正在尝试制作一个可以自动聚合数字并动态添加输入的应用。当我删除任何输入字段时,不会从总和中减去该数字。如何从我删除的条目中减去数字?感谢您的帮助。
https://jsfiddle.net/0wbv8exd/
var sayac = 1;
$(function()
$('#ekle').click(function()
sayac += 1;
$('#ekhizmetler tbody').append(
'<tr><th><strong></strong></th><td><input id="alan_" name="alanlar2[]' + '" type="text" class="form-control inst_amount" /></td><td><a href="#"class="delete btn btn-danger">Delete</a></td></tr>');
);
$('#ekhizmetler').on("click", ".delete", function(e)
e.preventDefault();
$(this).closest("tr").remove();
)
);
function sumIt()
var total = 0,
val;
$('.inst_amount').each(function()
val = $(this).val();
val = isNaN(val) || $.trim(val) === "" ? 0 : parseFloat(val);
total += val;
);
$('#total_price').html(Math.round(total));
$('#total_amount').val(Math.round(total));
$(function()
$("#add").on("click", function()
$("#container input").last()
.before($("<input />").prop("class", "inst_amount").val(0))
.before("<br/>");
sumIt();
);
$(document).on('input', '.inst_amount', sumIt);
sumIt() // run when loading
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-12">
<table id="ekhizmetler" class="table table-condensed">
<thead>
<tr>
<th>Sıra</th>
<th>Numbers</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<th><strong>1</strong></th>
<td><input id="alan_2" name="alanlar2[]" type="text" class="form-control inst_amount"></td>
<td><input id="total_amount" name="total_amount" type="text" class="form-control" value="0"></td>
<td><a href="#" class="delete btn btn-danger">Delete</a></td>
</tr>
</tbody>
<tfoot>
<td>
<p id="ekle"><a href="#ekle" class="btn btn-primary">» New Field </a></p>
</td>
</tfoot>
</table>
</div>
【问题讨论】:
【参考方案1】:就像您在单击add
按钮时执行sumIt
一样,在执行删除时通过获取其值从总和中减去。
$('#ekhizmetler').on("click", ".delete", function(e)
e.preventDefault();
curr_val = $(this).closest("tr").val(); # get value of box to be deleted
total_val = $("#total_amount").val(); # get total value
$("#total_amount").val(total_val-curr_val); # set new total
$(this).closest("tr").remove()
)
【讨论】:
非常感谢您的回答,但是当我使用您编写的代码时,我仍然删除的输入中的数据不会从总数中减去。以上是关于如何使用 jquery 删除输入数据?的主要内容,如果未能解决你的问题,请参考以下文章