AngularJS sum of rows ng-repeat
angularjs, javascript
Solution
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>
Problem
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); }; ```