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”