ng-options基于先前选择的值

时间:2016-07-18 11:59:46

标签: javascript angularjs

我有一个如下所示的数组。

$scope.set = [
{"name":"name1", "value":"value1"}
{"name":"name2", "value":"value2"}
{"name":"name3", "value":"value3"}
]

我试图根据之前的选择显示选项。例如,如果我选择 name1 ,那么下次我不想显示所选的选项。我想只显示剩下的两个名字,即name2和name3。

我试图通过使用一些过滤器来实现这一点,但它影响了模型$ scope.set

请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

可以在Fiddle找到针对您问题的可能解决方案。我已经从头开始快速创建了一些东西,因为你的帖子里没有原版的小提琴。

<div ng-app ng-controller="Controller">
    Select value : <b>{{myDropDown.name}}</b><br/><br/>
    Showing all other available options:
    <select ng-options="item.name for item in items | filter: {name: '!' + myDropDown.name}" ng-model="myDropDown">
      <option value="">Select other value</option>
    </select>
</div>

function Controller ($scope) {
    $scope.myDropDown = 'one';    
    $scope.items = [
        {"name":"name1", "value":"value1"},
            {"name":"name2", "value":"value2"},
            {"name":"name3", "value":"value3"}
    ];  
}