如何计算表格行总结果中的结果摘要

时间:2016-10-12 08:55:19

标签: angularjs

能够计算两个输入并将结果保存在结果输入中并添加新行, 但我想计算总结果中的结果值汇总(此输入在tr之外)

[here is my code][1]



 https://jsbin.com/gewigopevo/edit?html,js,output

3 个答案:

答案 0 :(得分:2)

移动

$scope.Total = total

中的for loop和地点

$scope.rvm.push({})

addRow1 function

的末尾

您的function应如下所示

$scope.addRow1 = function (index) {
      $scope.rvm[index].result = $scope.rvm[index].val1 - $scope.rvm[index].val2;
        var total = 0;
        for (var i = 0; i < $scope.rvm.length; i++) {
          total += parseInt($scope.rvm[i].result);

        }
      $scope.Total = total;
      $scope.rvm.push({});
    }

<强> FULL EXAMPLE

答案 1 :(得分:1)

我看了你的代码。我添加了一个总计数器,用于在计算运行总计的每个添加事件发生后聚合总计。我将其传递给表格外的$scope变量。

在控制器中

    $scope.outsidetotal = 0; //outside of table scope
    $scope.rvm = [{}];
    var total = 0;
    $scope.total = 0;

  $scope.addRow1 = function (index) {
        $scope.rvm[index].result = $scope.rvm[index].val1 - $scope.rvm[index].val2;
        $scope.rvm.push({})
        $scope.outsidetotal = $scope.total += $scope.rvm[index].result;  
    }

<强> DEMO

答案 2 :(得分:0)

尝试使用手表

在addRow1函数中添加以下行:

$scope.$watchCollection("rvm", function() {
    $scope.Total = total();
});

然后创建一个函数total()并获得所有结果值的总和。

function total() {
    var totalNumber = 0;
    for(var i=0; i<$scope.rvm.length; i++){
      totalNumber = totalNumber + parseInt($scope.rvm[i].result);
    }
    return totalNumber;
  }