У меня есть список ng-repeat с некоторым номером.
Я также суммирую все числа и показываю сумму в нижнем колонтитуле таблицы.
Теперь мне нужно при ручном вводе числа в СУММ вычислить число в каждом элементе в ng-repat.
здесь я в ng-repat вызываю ng-init и передаю $ index и item в функцию для
рассчитать сумму
<tr ng-repeat="item in myCartItems track by $index" ng-
init="storeValueOnScope($index, item)">
$scope.storeValueOnScope = function(index, item){
$rootScope.indexOdabranihKlupa = index;
$rootScope.impresijeKampanja = item.campaignImpressions;
}
разница в процентах между максимальным количеством показов и
количество выбранных показов
$scope.getUserSelectedImpresion = function (impressions){
$scope.userSelectedImpressionsSumBench = impressions;
$scope.percentageDiff = $scope.userSelectedImpressionsSumBench /
$rootScope.totaImpressionsSum * 100;
$scope.calculateDiff($rootScope.indexOdabranihKlupa,
$rootScope.impresijeKampanja);
}
здесь я вычисляю новый номер и хочу вставить новый номер в ng-repeat, уже загруженный в DOM
$scope.calculateDiff = function(index, item) {
$scope.myCartItems[index].campaignImpressions = (item *
$scope.percentageDiff) / 100;
}
вот часть, где я хочу получить новое значение
<input type="number" ng-model="item.campaignImpressions" ng-min="0" ng-
max="item.maxValue" class="inputPolje" name="campaignImpressions" />
Задача
когда я вычисляю все это, я получаю правильное число, но только для последнего элемента, а не для каждого в списке ng-repeat
|ID | Available impressions (input) |
|1000 | 5000 | max: 5000
|1004 | 5000 | max: 5000
|1098 | 4666.666666666666 | max: 5000 //only this one is calculated
total max: 15000 (input field)
user select: 14000 //this is number for make calculation
вот мой пример JSON
[{
"id": 1000,
"campaignImpressions": 5000,
"mediaImpressions": 5000,
"time": "20:30:00"
}, {
"id": 1004,
"campaignImpressions": 5000,
"mediaImpressions": 5000,
"time": "20:30:00"
}, {
"id": 1004,
"campaignImpressions": 5000,
"mediaImpressions": 5000,
"time": "20:30:00"
}]