在动态添加行并在应该出现在行中的列上执行计算时,在表的末尾添加一行

时间:2013-10-23 04:18:14

标签: jquery html

我希望在表格末尾有一个小计行,其中包含“总计”列的总和(表格的第四列)。

问题:未正确添加行。只有在添加了每一行的

之后,才会在表的末尾添加“subtot”行

问题:计算部分全部搞砸了

问题:当我输入jsfidle时,我无法更改选择框,但我能够在本地进行。

我认为我试图对此进行编程是一条糟糕的路线,我相信你有更好的方法来完成它。

我尝试做类似下面代码的事情,因为每次更改选择框时都会更新第四列,并且在更改时我需要该值,这样我就可以在“子标记”行中获得正确的总数。 / p>

我使用了.text() - 0,因为我认为第四列中的值是一个数字存在问题。

FYI。此代码与我在jsfiddle

中显示的代码有所不同
$("select").change(function(){
    var $fourth = $('.row td:nth-child(4)').text()-0;
   if(isNaN($fourth)) {
  //just to test if number
    $('.row td:nth-child(4)').css("color", "green")
   }
    // alert($.type($fourth))
  var row = $('.row td:nth-child(4)').parent()
    $('.row td:nth-child(4)').each(function(){
        qnty = $(this).siblings('.select').val()-0;
        alert(qnty);
        total =  parseFloat($(this).text()-0) * qnty;
       $('tr.subtot td:nth-child(4)').html(total)
    })
});

下面添加了子行。根据我的知识,这是我现在能做的最好的事情。 我认为我使用的方式有问题。 remove()

   if($(".subtot").length && $(".subtot:not(:last-child)")){
        $(".subtot").remove();
    }else{
    $("table:nth-last-child(1)").append('<tr class = "subtot"><td></td><td></td><td></td><td>test</td></tr>')

    }

我刚刚开始学习jquery,如果你帮我解决这个问题,它会帮助我完成学习过程,我会很感激。

0 个答案:

没有答案