能够计算两个输入并将结果保存在结果输入中并添加新行, 但我想计算总结果中的结果值汇总(此输入在tr之外)
[here is my code][1]
https://jsbin.com/gewigopevo/edit?html,js,output
答案 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;
}