如果已经在另一个下拉菜单中选择了值,如何删除下拉菜单中的值

时间:2019-06-20 11:15:47

标签: jquery angularjs

我有多个使用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>

预先感谢

1 个答案:

答案 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>