我是 Angularjs 的新手,并尝试使用 ng-repeat 用值(整数值(填充表,这些值使用输入变量 id=v1 正确填充在表中,但我无法将行的总和放入表最后一列的标签中,请帮助/指南。
网页代码:
<tbody>
<tr ng-controller="Dataload" ng-model="orderProp" ng-repeat="(key, value) in Dataloads | groupBy:'project'">
<td>
<label id="projectname" name="projectname" readonly style="width:300px">{{key}}</label>
</td>
<td ng-repeat="Dataload in value | orderBy:'date':false ">
<div>
<select ID="DropDownList1" Width="8%" Height="28px">
<option value="pending">✊</option>
<option value="accept">✅</option>
<option value="reject">❌</option>
</select>
<input type="text" id="v1" name="" class="form-control" readonly="readonly" data-ng-model="Dataload.qty" required />
</div>
</td>
<td>
<label style="width:90px" name="total" id="total" >**want to show sum of row in this label**</label>
</td>
</tr>
</tbody>
控制器代码:
'use strict';
var app = angular.module("GMAO3App");
app.controller('Dataload', Dataload);
Dataload.$inject = ['$scope', '$rootScope', '$http', 'ngAuthSettings'];
function Dataload($scope, $rootScope, $http, ngAuthSettings) {
var serviceBase = ngAuthSettings.apiServiceBaseUri;
$http.get(ngAuthSettings.apiServiceBaseUri + 'web/partes/Dataload?worker=233&society=1&branch=0&start=2017-05-29&end=2017-06-04').
success(function (data, status, headers, config) {
$scope.Dataloads = data;
var Data_project = [];
var Data1_qty = [];
var Data2_date = [];
for (var i = 0; i <= $scope.Dataloads.length; i++) {
Data_project[i] = $scope.Dataloads[i].project;
Data1_qty[i] = $scope.Dataloads[i].qty;
Data2_date[i] = $scope.Dataloads[i].date;
}
}).
error(function (data, status, headers, config) {
alert("error");
});
};
示例图像:图像包含UI和示例数据,例如(1,6,1 2,3(,我想添加这些值并将其总和添加到行的最后一列
<label style="width:90px" name="total" id="total" >{{value | map:'qty' | sum}}
</label>
这解决了我的问题。感谢@Jenny
您可以访问 DataLoad lentgh 以获取显示在末尾、ng-repeat 之外的行数。
<td>
<label style="width:90px" name="total" id="total">{{DataLoads.length}}</label>
</td>
编辑
试试这样:
<table>
<tbody>
<tr ng-controller="Dataload" ng-model="orderProp" ng-repeat="(key, value) in Dataloads | groupBy:'project'">
<td>
<label id="projectname" name="projectname" readonly style="width:300px">{{key}}</label>
</td>
<td ng-repeat="Dataload in value | orderBy:'date':false" ng-init="items.total = {}">
<div>
<select ID="DropDownList1" Width="8%" Height="28px">
<option value="pending">✊</option>
<option value="accept">✅</option>
<option value="reject">❌</option>
</select>
<input type="text" id="v1" name="" class="form-control" readonly="readonly" data-ng-model="Dataload.qty" ng-init="items.total.qty = items.total.qty + Dataload.qty" required />
</div>
</td>
<td>
<label style="width:90px" name="total" id="total" >{{items.total.qty}}</label>
</td>
</tr>
</tbody>
<table>