我有三个领域。第一个选项字段/ng-重复可用日期第二选项字段/基于用户选择的日期,我做ng-重复超过数量。我尝试过各种不同的方法,但我不能让它依赖于第一个选项字段,或者其他东西不能工作。任何帮助都会很好!谢谢!!
html:
<div class="containerDiv">
<div>
<select ng-model='date'>
<option ng-repeat="availableDateProduct in product " value='{{i}}'>{{availableDateProduct.dateOfActivity}}
</option>
</select>
</div>
<div ng-repeat="availableDateProduct in product ">
<select>
<option ng-repeat='i in quantityLister(availableDateProduct.quantity)' value='{{i}}'>
{{i}}
</option>
</select>
</div>
<div>
<button>Book</button>
</div>
</div>联署材料:
app.controller('ProductCtrl', function($scope, ProductsFactory, $stateParams) {
ProductsFactory.fetchByTitle($stateParams.title)
.then(function(product) {
$scope.product = product;
})
$scope.quantityLister = function(num) {
var array = [];
for (var i = 1; i <= num; i++) {
array.push(i)
}
return array;
}
})数据:
var products = [
{
title:'Bowling',
description:'Its fun!',
photoUrl:'https://www.1.jpg',
quantity:12,
price:9,
dateOfActivity: '2017-13-07'
},
...
]谢谢!!
发布于 2017-05-28 14:12:31
ng-options有专门为完成这一任务而构建的指令;
首先,我们在控制器中定义了一个对象,它将保存从下拉列表中选择的值:
$scope.reservation = {};接下来,我们在下拉列表中使用ng选项,并使用ng-model属性接受所选的值。在第一个下拉列表中,我们接受products数组,显示每个产品的dateOfActivity,并在选择时将product对象保存到ng-model。(在ng-options定义中从右到左工作)。
ng-model="reservation.selectedProduct"
ng-options="product as product.dateOfActivity for product in products"在我们的第二个下拉列表中,您定义了一个函数来获取一个数字并将其扩展到一个数组中。我们从reservation.selectedProduct.quantity调用这个函数,然后使用这个数组作为ng-options的基础
ng-model="reservation.selectedQuantity"
ng-options="num for num in quantityLister(reservation.selectedProduct.quantity)"现在我们有一个对象,它为两个下拉列表都选择了值,我们只需要在按下按钮时改变原始数组中的数量。我们还想清除选择的后置,以确保用户不可能意外地作出重复预订。
$scope.reserve = function (){
$scope.reservation.selectedProduct.quantity -= $scope.reservation.selectedQuantity;
$scope.reservation = {};
};在这里,我们使用简写-=从selectedProduct.quantity中减去selectedQuantity。由于selectedProduct是双向绑定的,所以对selectedProduct的更改也反映在product数组中的原始对象中。但是,quantityLister函数不是动态的;如果我们不重置$scope.reservation,那么第二个下拉列表将保存一个现在无效的可用预订数。
https://stackoverflow.com/questions/44164955
复制相似问题