ng-repeat选择禁用选项

时间:2016-01-12 00:22:51

标签: angularjs

我有数组

vm.helpersIterator = [ ] //store new <select>-s

和像这样的对象

vm.helpersObj = {
    2014: {name: 'test', selected: true},  
    1290: {name: 'test1', selected: false},
}

html:

<select name="helper" class="form-control"
   ng-repeat="helper in vm.helpersIterator track by $index">
     <option value="">- Select helper -</option>
     <option ng-repeat="(uid, helper) in vm.helpersObj"
             ng-value="uid"
             ng-selected="helper.selected">
             {{helper.name}}
      </option>
</select>

我可以在vm.helpersIterator数组中推送许多<select> - s。 但我需要禁用已经选择的选项。

您可以看到我附上的图片以供理解。

введите сюда описание изображения

2 个答案:

答案 0 :(得分:2)

ng-disabled会做你想做的事。

这是一个带有工作示例的傻瓜,与你的相似。

http://plnkr.co/edit/YLXFVbndqAaPV4mMsynR?p=preview

我还使用ng-change将selectedOption设置为selected

答案 1 :(得分:1)

我不确定我是否完全理解这个问题但是,您似乎有条件地为helpersObj数组中具有{{1}的任何对象添加selected属性true的属性?

如果是这种情况,您可以简单地换掉ng-selected ng-disabled

<option ng-repeat="(uid, helper) in vm.helpersObj"
        ng-value="uid"
        ng-disabled="helper.selected">
        {{helper.name}}
</option>