如果选中,则禁用角度的复选框?

时间:2017-02-01 13:01:23

标签: javascript angularjs

我有一个表示为复选框的对象数组,我想禁用复选框(如果已选中)(它的值是从数据库设置的)

<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代替,它可以工作,但问题是一旦复选框被选中它被禁用,我可以更改此行为吗?

1 个答案:

答案 0 :(得分:-2)

发生这种情况的原因是您正在使用ng-disabled功能。在每个摘要周期中检查功能。

话虽如此,我的建议是在你的标签对象中创建一个属性&#34; isChecked&#34;并将其设置为ng-click,并且ng-disable应保持类似于: ng-disabled =&#34;!tab.isChecked&#34;。

此致