У меня возникли проблемы с получением общей суммы цены, когда этот checkbox
. С этим циклом for все, что я получаю, это первые два долларовых суммы (я знаю, что это selectedTotal += (getAmount.amount + getAmount.amount)
; проблема, но не знаю, как это исправить), я не могу получить общую сумму когда имеется более трех выбранных элементов списка. tempData
- это массив var tempData = []
Помощь будет оценена.
HTML
<label class="item item-input ">
<b class="input-label">Total Amount: </b>
<span style="margin-left:30%;"> ${{getTotal()}} </span>
</label>
КОНТРОЛЛЕР
$scope.getTotal = function () {
var selectedTotal = 0;
for (var i = 0; i < $scope.tempData.length; i++) {
if ($scope.tempData[i].checked) {
var getAmount = $scope.tempData[i];
selectedTotal += (getAmount.amount + getAmount.amount);
}
return selectedTotal;
}
}
Вы должны поместить return selectedTotal
вне цикла, иначе он будет возвращать значение после каждой итерации цикла.
$scope.getTotal = function () {
var selectedTotal = 0;
for (var i = 0; i < $scope.tempData.length; i++) {
if ($scope.tempData[i].checked) {
var getAmount = $scope.tempData[i];
selectedTotal += (getAmount.amount + getAmount.amount);
}
}
return selectedTotal;
}
Читайте здесь: возврат в цикл цикла или внешнего цикла
Попробуйте вернуть selectedTotal вне цикла for.
selectedTotal += (getAmount.amount + getAmount.amount);
(getAmount.amount дважды)?