【问题标题】:Calculating sum of price in AngularJS在AngularJS中计算价格总和
【发布时间】:2015-10-18 18:31:01
【问题描述】:

checkbox 选择项目列表时,我无法获取总价格。通过这个循环,我得到的是前两美元金额(我知道它是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;
    }
}

【问题讨论】:

  • 你为什么有selectedTotal += (getAmount.amount + getAmount.amount);(getAmount.amount两次)?
  • 我现在知道了,我删除了第二个 getAmount.amount,然后将 return selectedTotal 放在 forloop 之外,它现在可以工作了

标签: javascript angularjs


【解决方案1】:

尝试在 for 循环之外返回 selectedTotal。

【讨论】:

    【解决方案2】:

    您必须将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;
    }
    

    在这里阅读:Return in for loop or outside loop

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      相关资源
      最近更新 更多