Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
89
rated 0 times [  95] [ 6]  / answers: 1 / hits: 25161  / 10 Years ago, sat, may 24, 2014, 12:00:00

I add dynamically rows in my table with ng-repeat, coming from an array.



Now I want to get the sum of all sums per row (group.sum * group.perc / 100.0). I need it in a variable because I need this value for further calculations. Thank you



HTML



<tr ng-repeat=group in groupsArr>                                         
<td class=total-rows ng-model=taxes>{{group.sum * group.perc / 100.0 | currency :}}</td>
</tr>


SCRIPT



var taxTotals = 0;
var taxTotals =
for (i=0; i<group.length; i++) {
taxTotal = taxTotal + group[i].taxes;
};
console.log(taxTotals);
};

More From » angularjs

 Answers
8

Create a Filter:



 app.filter('sumFilter', function() {
return function(groups) {
var taxTotals = 0;
for (i=0; i<groups.length; i++) {
taxTotal = taxTotal + groups[i].taxes;
};
return taxTotals;
};
});


Use the $filter service:



 app.controller('myController', function($scope, $filter) {
$scope.groups = [...];

var taxTotals = $filter('sumFilter')($scope.groups);
console.log(taxTotals);
});


Use it in your HTML:



<tr ng-repeat=group in groupsArr>                                         
<td class=total-rows ng-model=taxes>{{group.sum * group.perc / 100.0 | currency :}} </td>
</tr>
<tr>
<b> Tax Totals: </b> {{ groupsArr | sumFilter | currency }}
</tr>

[#70864] Thursday, May 22, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
taliac

Total Points: 84
Total Questions: 114
Total Answers: 114

Location: Morocco
Member since Fri, May 22, 2020
4 Years ago
;