【发布时间】:2016-03-28 01:05:33
【问题描述】:
我的应用程序为用户提供了从多个下拉菜单中进行选择的选项,第三个菜单应该是动态的,具体取决于前两个菜单中的选择。
我正在使用 ng-repeat 和 ng-if 来设置这样的条件
// First dropdown menu
<select ng-model="letter" class = "form-control">
<option ng-repeat= "letter in letters" value = "letter">{{letter}}</option>
</select>
<br>
// second dropdown menu
<select ng-model="number" class = "form-control">
<option ng-repeat = "number in numbers" value = "number">{{number}}</option>
</select>
<br>
// third dropdown menu
<select ng-model="color" class="form-control">
<option ng-repeat="A1_color in A1_colors" ng-if= "letter = A & number = 1" value="{{A1_color}}">{{A1_color}}</option>
</select>
...
<select ng-model="color" class="form-control">
<option ng-repeat="B2_color in B2_colors" ng-if= "letter = B & number = 2" value="{{B2_color}}">{{B2_color}}</option>
</select>
在我的控制器中,我有这样的列表
$scope.letters = {'A', 'B'};
$scope.numbers = {'1', '2'};
$scope.A1_colors = {'red', 'pink'};
$scope.A2_colors = {'blue', 'black'};
$scope.B1_colors = {'yellow', 'orange'};
$scope.B2_colors = {'white', 'black'};
因此,如果用户从第一个菜单中选择“A”并从第二个菜单中选择“2”,他应该会在第三个菜单中看到“A2_colors”的选项。这样做的正确方法是什么?
【问题讨论】:
标签: angularjs angularjs-scope angularjs-ng-repeat angular-ng-if