下面的脚本使用ng-repeat显示计算表格。
计算重复元素总价的最简单方法是什么?
页面html:
<tr ng-repeat="ligne in data">
<!-- <td ng-bind="$index+1"></td> -->
<td>
<input class="form-control input-sm" type="text" ng-show="show==0" ng-model="designation">
<span ng-show="show==1">{{designation}}</span>
</td>
<td>
<input class="form-control input-sm" type="number" ng-show="show==0" ng-change="getTotal(prixHt,quantite)" ng-model="prixHt">
<span ng-show="show==1">{{prixHt}}</span>
</td>
<td>
<input class="form-control input-sm" type="number" ng-show="show==0" ng-change="getTotal(prixHt,quantite)" ng-model="quantite">
<span ng-show="show==1">{{quantite}}</span>
</td>
<td>
<select class="form-control input-sm" type="text" ng-show="show==0" ng-change="getTotal(prixHt,quantite)" ng-model="tva">
<option value="20" selected>20%</option>
<option value="0">0</option>
</select>
<span ng-show="show==1">{{tva}}</span>
</td>
<td>
<input class="form-control input-sm" type="text" ng-show="show==0" value="{{(prixHt * 1) * (quantite * 1)}}" id="data.totalht" disabled="true" />
<span ng-show="show==1">{{(prixHt * 1) * (quantite * 1)}}</span>
</td>
<td>
<input class="form-control input-sm" type="text" ng-show="show==0" value="{{((prixHt * 1) * (quantite * 1)) * ((100+tva*1) / 100)}}" disabled="true">
<span ng-show="show==1">{{((prixHt * 1) * (quantite * 1)) * ((100+tva*1) / 100)}}</span>
</td>
<td ng-show="show==0">
</td>
</tr>
///////////////////////////////////////////////////////////////////////
<span class="col-md-4" ng-bind="total"></span>
///////////////////////////////////////////////////////////////////////
我的控制器代码:
$scope.getTotal = function(prixHt,quantite){
var total = 0;
for(var i = 0; i < $scope.data.length; i++){
// var product = $scope.data[i];
total += (prixHt * quantite)*1;
$scope.total =total;
}
return total;
}
///////////////////////////////////////////////////////////////////////
寻求帮助
答案 0 :(得分:0)
在ng-repeat之前设置范围变量,如下所示:
{{total = 0;""}}
然后将所有价格汇总到ng-repeat:
{{total += prixHt * quantite;""}}
希望有所帮助