【发布时间】:2016-11-15 20:50:52
【问题描述】:
我想知道是否有人解决了我的问题。我的代码如下所示。
var app = angular.module('myApp', []);
app.controller('myCtrl',function($scope){
//Adding New Check# and Check amount Text Boxes
$scope.checks = [{checkNum1: '',checkAmt1:''}];
$scope.add = function() {
var newCheckNo = $scope.checks.length+1;
$scope.checks.push({['checkAmt'+newCheckNo]:''});
};
$scope.tot = function() {
return $scope.checks;
};
$scope.total = function() {
var value = "";
for(var i =0 ; i<=$scope.checks.length;i++ ){
value += $scope.checks.get('checkAmt1');
}
return value;
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<div class="col-md-12">
<div class="col-md-6">
<div ng-repeat="check in checks">
<div class="form-group">
<label>check Amount:</label>
<div class="col-md-5">
<input type="text" class="form-control" id="{{'id'+($index+1)}}" ng-model="check['checkAmt'+($index+1)]" maxlength="6" />
</div>
</div>
</div>
<button type="button"
ng-click="add()">Add More</button>
</div>
</div>
<div class="col-md-6">
<!--<p ng-repeat="check in checks">{{check['checkAmt'+($index+1)]}}</p>-->
</div>
<label>{{tot()}}</label>
<label>{{total()}}</label>
</div>
我正在初始化$scope.checks = [{checkAmt1:''}];
并在单击添加按钮时推送附加值(checkAmt2、checkAmt3、...等等)。我想通过使用{{total()}} 动态添加这些值(checkAmt1+checkAmt2+...等等)。 total() 函数正在调用,我知道 for 循环内的逻辑是错误的。请帮我解决逻辑(或)如果有任何其他方式来添加这些值,请建议我。
提前致谢。
注意:请以整页查看结果。
【问题讨论】:
-
为什么要将
{checkAmtX:''}推送到阵列中?为什么不只是 1,2,3,..?我认为目前尚不清楚您要达到的目标。 -
为什么不只是 1,2,3..?我不明白这是什么意思?我正在推动动态 checkAmtx 检查 x = 1,2,3...
-
$scope.checks 不仅包含 checkAmt,还包含 checkNum,(ie)$scope.checks = [{checkNum1: '',checkAmt1:''}];我还编辑了我的代码。很抱歉一开始没有提及它。
标签: angularjs angularjs-scope angularjs-ng-repeat