Angularjs 筛选已选择的选项

Angularjs 筛选已选择的选项,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个带有ng repeat的表单,它加载用户添加的一组计划天数。假设用户已将第一天添加到集合中,并从下拉列表中选择了星期一。当用户将第二天添加到集合中时,我希望下拉列表过滤掉星期一,因为它已经被使用,但是对于选择星期一的那天,不过滤掉星期一。有没有人能举例说明如何做到这一点 编辑: $scope.schedule = {days: []}; 从Zacks示例更新*通过对问题的编辑更新* 在这里,每次选择一个选项时,它都会调用updateAvailability() 查看演示谢谢,我更新了J

我有一个带有ng repeat的表单,它加载用户添加的一组计划天数。假设用户已将第一天添加到集合中,并从下拉列表中选择了星期一。当用户将第二天添加到集合中时,我希望下拉列表过滤掉星期一,因为它已经被使用,但是对于选择星期一的那天,不过滤掉星期一。有没有人能举例说明如何做到这一点

编辑:

$scope.schedule = {days: []};

从Zacks示例更新

*通过对问题的编辑更新*

在这里,每次选择一个选项时,它都会调用updateAvailability()


查看演示

谢谢,我更新了JSFIDLE以更好地匹配我现在拥有的。希望这能让我更好地理解我要完成的任务。@GaryLCoxJr更新了我的答案,以配合您的变化。太棒了!非常感谢你的帮助
<div ng-repeat="schedDay in schedule.days">
    <select ng-model="schedDay.day" ng-change="updateAvailability()">
        <option ng-repeat="day in days|orderBy:value" ng-disabled="!day.selectable" value="{{day.day}}">{{day.display}}</option>
    </select>
</div>
$scope.updateAvailability = function() {
    var used = $scope.schedule.days.map(function(day) {
        return parseInt(day.day || '-1');
    });

    angular.forEach($scope.days, function(day) {
        day.selectable = used.indexOf(day.day) === -1 ? true : false;
    });
}