Javascript jQuery-如何从删除的行中获取输入量
当我删除表中的任何一行时,Javascript jQuery-如何从删除的行中获取输入量,javascript,jquery,Javascript,Jquery,当我删除表中的任何一行时,的值应从中减去 现在。如何从已删除行返回的值? 我不知道该说些什么来解决添加更多细节的问题,请在评论中告诉我 $(文档).ready(函数(){ $(“表格”)。在功能(e)的“单击”、“删除服务”上{ e、 预防默认值(); var$row=$(this.parent().parent(); var retResult=confirm(“您确定要删除此行吗?”); 如果(结果){ log($('.fullprice').val()); $row.remove(); }
的值应从
中减去现在。如何从已删除行返回
的值?我不知道该说些什么来解决
添加更多细节的问题,请在评论中告诉我
$(文档).ready(函数(){
$(“表格”)。在功能(e)的“单击”、“删除服务”上{
e、 预防默认值();
var$row=$(this.parent().parent();
var retResult=confirm(“您确定要删除此行吗?”);
如果(结果){
log($('.fullprice').val());
$row.remove();
}
});
});代码>
名称
价格
数量
全价
行动
您可以循环通过.fullprice
获得值和总和。请尝试下面的代码片段
$(文档).ready(函数(){
$(“表格”)。在功能(e)的“单击”、“删除服务”上{
e、 预防默认值();
var$row=$(this.parent().parent();
var retResult=confirm(“您确定要删除此行吗?”);
如果(结果){
console.log($(this.closest('tr').find('.fullprice').val());
$row.remove();
}
var合计=0;
如果($('.fullprice')。长度){
$('.fullprice')。每个(函数(){
total=total+parseInt($(this.val());
});
}
$('总计').val(总计);
});
});代码>
名称
价格
数量
全价
行动
我已经更新了代码片段。但这不是更新获取总值的正确方法。由于它是静态的HTML
,我只是在删除行后更新输入值
理想情况下,您需要获取所有输入值,并根据所有输入
字段的更改事件处理程序不断更新总输入值
$(文档).ready(函数(){
$(“表格”)。在功能(e)的“单击”、“删除服务”上{
e、 预防默认值();
var$row=$(this.parent().parent();
变量$total=$(“#total”);
var retResult=confirm(“您确定要删除此行吗?”);
如果(结果){
var val=$('.fullprice').val();
$row.remove();
total.value=total.value-val;
}
});
});代码>
名称
价格
数量
全价
行动
您可以使用找到对应的完整价格。查找
$(document).ready(function() {
$("table").on("click", ".del-service", function(e) {
e.preventDefault();
var $row = $(this).parent().parent();
var retResult = confirm("Are you sure you want to delete this line?");
if (retResult) {
console.log(row.find('.fullprice').val());
$row.remove();
}
});
});
但在删除或更新时重新计算总数是更好的解决方案:
$(document).ready(function() {
$("table").on("click", ".del-service", function(e) {
e.preventDefault();
var $row = $(this).parent().parent();
var retResult = confirm("Are you sure you want to delete this line?");
if (retResult) {
$row.remove();
calcTotal();
}
});
$("table").on("keyup", ".price, .count, fullprice", function(e) {
calcTotal();
});
});
function calcTotal() {
var Total = 0;
$("table").find("tr").each(function (i, el) {
Total += parseFloat($(el).find('.fullprice').val());
});
$("#total").val(Total);
}
你有三个问题:
您正在html中手动添加总数,如果您更改了数字或有更多输入,则会出现问题
您正在获取具有“.fullprice”类的第一个元素的值,而实际需要获取与刚刚删除的项目相关的值
你不是在减去这个数字
我用下面的代码解决了这三个问题:
$(文档).ready(函数(){
var总计=$(“.fullprice”);
var合计=0;
各美元(总计、功能(索引、完整价格){{
console.log(fullprice.value);
总计+=parseInt(fullprice.value);
}});
$('总计').val(总计);
$(“表格”)。在功能(e)的“单击”、“删除服务”上{
e、 预防默认值();
var$row=$(this.parent().parent();
var retResult=confirm(“您确定要删除此行吗?”);
如果(结果){
var num_to_remove=parseInt($row.find('.fullprice').val());
var old_total=parseInt($('#total').val();
var new_total=old_total-num_to_remove;
$('总计').val(新总计);
$row.remove();
}
});
});代码>
名称
价格
数量
全价
行动
此代码仍然存在问题,这将选择类中的第一项,您应该确保删除行中的“.fullprice”