我有多个使用ng-repeat的下拉列表。在下拉列表中,我通过$ scope数组填充值。
例如
$scope.list = ["A","B","c"]
在第一个下拉菜单中考虑如果我选择了A,那么另一个下拉菜单将不允许A选择;如果我在下一个下拉菜单中选择了B,并且我想更改第一个下拉菜单值,则应该允许我选择仅选择A和C。
HTML:
<select>
<option ng-value="val" ng-repeat="val in list">
{{val}}
</option>
</select>
预先感谢
答案 0 :(得分:0)
您可以添加第二个列表,例如,将称为cleanList
。这将用作第二个下拉列表的数据源。看到这个例子
$scope.list = ["A","B","c"];
$scope.cleanList = ["A","B","c"];
$scope.onSelect = function(){
$scope.cleanList=[];
for(var i=0; i<$scope.list.length; i++){
if($scope.list[i]!=$scope.otherVal)$scope.cleanList.push($scope.list[i]);
}
}
还有您的htmls
<select>
<option ng-value="otherVal" ng-repeat="val in list" ng-change='onSelect()'>
{{otherVal}}
</option>
</select>
<select>
<option ng-value="val" ng-repeat="val in list">
{{val}}
</option>
</select>