如何从相同ng-options的其他用途中删除选定的ng-options

时间:2015-11-16 15:41:40

标签: javascript angularjs

我正在尝试重复使用ng-options实例,但会删除之前使用的所选项目。

我有一个起始人http://plnkr.co/edit/Fx7igqMjPsBQz1vtUlsM?p=preview

HTML

  <body ng-controller="SelectController">
<div class="form-group col-md-3">
    <label for="select1">Select 1:</label>
    <select ng-model="newForm.select1" 
            ng-options="option.name as option.name for option in options" 
            class="form-control">
        <option value=""></option>
    </select>
</div>
<div class="row"><br></div>
    <div class="form-group col-md-3">
    <label for="select2">Select 2:</label>
    <select ng-model="newForm.select2" 
            ng-options="option.name as option.name for option in options" 
            class="form-control">
        <option value=""></option>
    </select>
</div>

JS

var app = angular.module('select', []);

app.controller('SelectController', function($scope) {

  $scope.options = [
   {name: 'Apple', id: '1'},
   {name: 'Orange', id: '2'},
   {name: 'Banana', id: '3'},
   {name: 'Pear', id: '4'},
 ];

});

所以,例如,如果选择1 =苹果,我想从选择2中的ng-options中删除苹果。

最好的方法是什么?感谢。

1 个答案:

答案 0 :(得分:0)

ng-options

ng-options="... in options | filter: newForm.select1 && {name: '!' + newForm.select1}"

其中newForm.select1表示第一个选择的模型值。

参见 demo fiddle