使用 javascript 和 AngularJS,我将如何将 Hours 值添加到变量中。我尝试过我所知道的简单 JS(知识有限,还是初学者),但没有成功。
<table class="table table-condensed table-striped table-hover">
<thead>
<tr>
<!--<td></td>-->
<td><a href="" ng-click="predicate= 'UserName'; reverse=!reverse">Employee <i class="fa fa-sort"></i></a></td>
<td><a href="" ng-click="predicate= 'TotalHours'; reverse=!reverse">Hours <i class="fa fa-sort"></i></a></td>
<td><a href="" ng-click="predicate= 'Date'; reverse=!reverse">Date <i class="fa fa-sort"></i></a></td>
</tr>
</thead>
<tbody>
<tr ng-repeat="jobhour in jobHours | orderBy:predicate:reverse">
<!--<td>{{$index + 1}}</td>-->
<td>{{jobhour.UserName}}</td>
<td>{{jobhour.AdminHours*1 + jobhour.FieldHours*1 + jobhour.OtherHours*1 + jobhour.TravelHours*1 | number:2}}</td>
<td>{{jobhour.Date | date:medium}}</td>
</tr>
</tbody>
</table>
上面是表格上 ng-repeat 的代码,您会看到我已经在该列中添加了几个值(这可能就是为什么我不确定是否有一种简单的方法来解决这个问题)。我试图获取的 TOTAL 值只不过是一个简单的 UI 通知。我想将此“总和”放入上面“总小时数”旁边的标签中:
此特定代码的答案:
这就是我最终所做的并且工作完美。感谢您的帮助。
function addArr(arr){
var val = 0;
for (var i = 0; i < arr.length; i++) {
val += parseFloat(arr[i].AdminHours || 0) + parseFloat(arr[i].FieldHours || 0) + parseFloat(arr[i].TravelHours || 0) + parseFloat(arr[i].OtherHours || 0);
//val += arr[i].AdminHours + arr[i].FieldHours + arr[i].TravelHours + arr[i].OtherHours;
}
$scope.totalHours = val;
}
最佳答案
Controller 上有一个函数,该函数循环遍历数组并将值相加,然后返回值。像这样的事情
var addArr = function(arr){
var val = 0;
for(var i = 0; i < arr.length; i++){
val += arr[i];
}
return val;
}
$scope.val = addArr(theArray);
这就是我最终所做的并且工作完美。感谢您的帮助。
function addArr(arr){
var val = 0;
for (var i = 0; i < arr.length; i++) {
val += parseFloat(arr[i].AdminHours || 0) + parseFloat(arr[i].FieldHours || 0) + parseFloat(arr[i].TravelHours || 0) + parseFloat(arr[i].OtherHours || 0);
//val += arr[i].AdminHours + arr[i].FieldHours + arr[i].TravelHours + arr[i].OtherHours;
}
$scope.totalHours = val;
}
关于javascript - 使用 AngularJS 从数组中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23728302/