javascript - 如何将选择列表数据绑定(bind)到 Angular 数组?

标签 javascript angularjs

我需要有两个下拉列表,每个列表最初包含整数 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/

相关文章:

javascript - AngularJS 属性在第一次调用时未绑定(bind)

javascript - 在 JavaScript 类中,您需要始终调用 super?对这个说法感到困惑

javascript - 如何在 Bootstrap 4 上向 Lightbox 添加关闭按钮

jquery - 如何停止通过 $.get 发送的 jquery ajax 请求?

javascript - ASP.NET MVC 复选框上的灰色字段 = true

angularjs - 父子 Controller 数据设计

javascript - angularjs:动态更改样式失败

angularjs - Angular : local scope property defined with '@' is not accessible from link function

javascript - AngularJS 应用程序上的动态页面标题

android - Ionic Android 键盘问题