我需要有两个下拉列表,每个列表最初包含整数 1 到 9。我想我可以使用如下的方法来做到这一点:
<--html area-->
<select ng-repeat="num in MaxCupcakes">
<option ng-model="num" />
</select>
<select ng-repeat="num in MyCupcakes">
<option ng-model="num" />
</select>
<--script area -->
var app = angular.module("app", []);
app.controller('Ctrl', function() {
$scope.MaxCupcakes = [1,2,3,4,5,6,7,8,9];
$scope.MyCupcakes = [1,2,3,4,5,6,7,8,9];
});
一旦我正确设置了此设置,我希望在 MaxCupcakes 中选择的内容来限制 MyCupcakes 中的数量。例如,如果我将 max cupcakes 设置为 5,那么我只能在 mycupcakes 中选择 1-5。
最佳答案
更好的方法是在第二个选择上使用过滤器。
<div ng-app ng-controller="Ctrl">
<select ng-model="max">
<option ng-repeat="num in MaxCupcakes" ng-click="changeMax(num)">
{{num}}
</option>
</select>
<select ng-model="foo>
<option ng-repeat="num in MyCupcakes | limitTo:max">
{{num}}
</li>
</select>
</div>
此外,您的数组不应包含 {}。 ctrl 应该是这样的。
function Ctrl($scope) {
$scope.MaxCupcakes = [1,2,3,4,5,6,7,8,9];
$scope.MyCupcakes = [1,2,3,4,5,6,7,8,9];
$scope.max = 9;
};
关于javascript - 如何将选择列表数据绑定(bind)到 Angular 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707758/