, , :
HTML:
<div ng-app>
<div ng-controller="testCTRL">
<div ng-repeat="item in items">
<span>{{item.name}}</span>
<span>
<select ng-model="modelValues[item.name]">
<option></option>
<option ng-repeat="value in items" ng-disabled="value.disabled">{{value.value}}</option>
</select>
</span>
</div>
</div>
</div>
JS:
function testCTRL($scope) {
$scope.items = [{name: "a", value: 1, disabled: false},
{name: "b", value: 2, disabled: false},
{name: "c", value: 3, disabled: false}];
$scope.modelValues = {};
$scope.$watch('modelValues', function(newVal, oldVal){
for(var i = 0; i < $scope.items.length; i++){
$scope.items[i].disabled = false;
angular.forEach($scope.modelValues, function(value, key) {
if($scope.items[i].value == value){
$scope.items[i].disabled = true;
}
});
}
}, true);
}
http://jsfiddle.net/sfj2e5ot/5/