我有一个表示为复选框的对象数组,我想禁用复选框(如果已选中)(它的值是从数据库设置的)
<md-input-container ng-repeat="tab in allTabs">
<md-checkbox checklist-model="pop.tabs" checklist-value="tab" ng-disabled="disableCheckbox(this)">
{{tab.name}}
</md-checkbox>
</md-input-container>
控制器中的:
$scope.disableCheckbox = function (chk) {
if (chk.isChecked)
return true;
else
return false;
}
但是这会禁用所有复选框!
修改
我应该使用chk.checked
代替,它可以工作,但问题是一旦复选框被选中它被禁用,我可以更改此行为吗?
答案 0 :(得分:-2)
发生这种情况的原因是您正在使用ng-disabled功能。在每个摘要周期中检查功能。
话虽如此,我的建议是在你的标签对象中创建一个属性&#34; isChecked&#34;并将其设置为ng-click,并且ng-disable应保持类似于: ng-disabled =&#34;!tab.isChecked&#34;。
此致