如何从Angular中的ng repeat中获取输入值
How to get input value from ng-repeat in Angular
我正在尝试用angular做一个简单的购物车。基本上,我有一个项目列表,希望用户输入数量,然后得到数量大于0的项目列表。
如果数量大于0,那么我会将它们添加到阵列中,否则将其删除。
我一定是做错了什么,使我无法得到正确的数量。
它只在第一次工作,但第二次不更新。
我的控制器:
var extras1 = {Id:1,PackageName:"Balloons",Description:'Pack of 6',Cost:'$50.00',Qty:0}
var extras2 = {Id:2,PackageName:"Hot Chips",Description:'Fresh fried hot chips fully of yummy fat and cholesterol.',Cost:'$10.00',Qty:0}
var extras3 = {Id:3,PackageName:"Sausages",Description:'Hot sausages from premium offcuts',Cost:'$10.00',Qty:0}
$scope.extras =[extras1,extras2,extras3];
$scope.extraSelected = function(){
$scope.selectedExtra =[];
angular.forEach($scope.extras, function(extra)
{
if(extra.Qty > 0 )
{
console.log('Extra added');
$scope.selectedExtra.push(extra);
}
})
console.log($scope.selectedExtra);
}
标记:
<div ng-repeat="extra in extras" class="text-left">
<div class="row-centered">
<div class="row form-group">
<label class="col-md-1 col-sm-offset-1 step1-question" >{{$index + 1}}</label>
<div class="col-md-8">
<span class="h4 step1-answer"> {{ extra.PackageName}} </span>
<br/>
<span class="h5"> {{ extra.Description}} </span>
<br/>
<span class="h5"> {{ extra.Cost}} </span>
</div>
<div class="col-md-1">
<input type='text' class="form-control step1-answer text-center "
ng-model="extra.Qty"
placeholder="0" style="background-color:#ffffff;padding: 5px;height: 45px;"
ng-change="extraSelected(extra)"
/>
</div>
</div>
<hr/>
</div>
</div>
也许是这样的?
<input type="number" ng-model="extra.Qty" ng-change="extraSelected()">
$scope.extraSelected = function () {
$scope.selectedExtra = [];
angular.forEach($scope.extras, function(extra) {
if(extra.Qty > 0) {
console.log('Extra added');
$scope.selectedExtra.push(extra);
}
})
console.log($scope.selectedExtra);
}
$scope.extraSelected = function(extra){
$scope.selectedExtra =[];
angular.forEach($scope.extras, function(extra)
您有额外的定义作为传入的参数,也作为forEach函数的参数-forEach在Qty为0的数组上循环,因此它将始终为零。
更改其中一个函数参数,使其不会影响另一个。
在这里学习函数范围。。。
相关文章:
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 需要使用javascript获取输入文本,然后将其添加到句子中
- 从可编辑的引导程序中获取输入值
- Knockout获取输入值
- 如何在用户输入后立即获取输入字段的值
- 使用xPath从Jquery数据验证程序获取输入
- 如何通过 Javascript 获取输入字段值
- 如何在 OnKeyPress 事件后获取输入表单元素的值
- 获取输入框的值
- 如何从 $(this).context 获取输入值
- 如何使用 jQuery 获取输入字段的值
- 在 AngularJS 中单击时获取输入的位置
- 如何动态获取输入值并使用javascript执行算术运算
- 在Jquery中将鼠标悬停在图像上后获取输入标记的URL
- jQuery无法获取输入值
- 修改序列化表单函数以获取输入ID而不是名称
- 如何在Javascript中获取输入字段的值
- jquery模态对话框通过id获取输入类型text的值
- 使用jStorage设置并获取输入值
- 如何在jquery中通过自定义属性获取输入字段的值