ng-repeat + ng-change - AngularJs

时间:2018-02-05 21:33:07

标签: angularjs

我还在学习AngularJs,我遇到了一个我似乎无法找到任何答案的情况(尽管我已经找到了很多关于这个问题的答案......没有什么比我需要的更多)。

我有以下ng-repeat和ng-model。这很好用:

<tr ng-repeat="option in orderLine.options">
   <td>
      <input ng-change="updateOptionsTotal(option.price)" ng-model="option.price" value="{{ option.price }}">
   </td>
</tr>

在ng-repeat之外,我还有以下内容:

<input value="{[{ options.total }]}" disabled>

这一行只是ng-repeat中所有option.price的总计。

然而,当我去改变ng-repeat中的输入时...我不知道如何抓住所有的option.prices(因为可能有很多)并将它们全部添加到创造新的总数。我在$ scope中有updateOptionsTotal方法......但是现在它只是空白,因为我不确定如何去做我需要做的事情。

任何指针都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以循环显示所有价格并计算新总价,然后使用新计算结果更新总价值。

$scope.updateOptionsTotal = function(){
    var total = 0;
    angular.forEach($scope.orderLine.options, function(value, key) {
        total = total + value.price;
    });
    $scope.options.total = total;   
}