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 其中一个选项,则所有未选中的选项将再次可用。
有办法做到这一点吗?
答案 0 :(得分:0)
复选框上的checked属性应该有效:
<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;
答案 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>