如何访问隔离范围?

时间:2015-12-07 21:11:39

标签: angularjs

This is a Plunker of my work so far

<label ng-repeat="option in options">
    <input type="checkbox" checklist-model="part.options" checklist-value="option" 
           ng-disabled="part.options.length>=2" > {{option.title}}
</label>

我试图找出如何禁用所有选项,除了那些已经检查过的选项。

如果说限制,2;如果用户选择2个复选框,其余部分将被禁用,但如果他们改变主意并且 UNCHECK 其中一个选项,则所有未选中的选项将再次可用。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:0)

复选框上的checked属性应该有效:

&#13;
&#13;
<label ng-repeat="option in options">
   <input type="checkbox" checklist-model="part.options" checklist-value="option" ng-disabled="part.options.length>=2 && !checked" > {{option.title}}
</label>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果选中复选框,则需要额外检查part.options.indexOf(option) === -1

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

<label ng-repeat="option in options">
  <input type="checkbox" checklist-model="part.options" checklist-value="option" ng-disabled="part.options.length>=2 && part.options.indexOf(option) === -1" > {{option.title}}
</label>