禁用角度指令模板中的复选框

时间:2015-12-02 19:23:47

标签: javascript html angularjs checkbox angularjs-directive

我有如下所示的指令,它在表格的单元格中显示一个复选框:

app.directive('csSelect', function () {
    return {
        template: '<input ng-model="checked" ng-click="csFunc()" disabled="isDisabled" type="checkbox"/>',
        scope: {
            row: '=csSelect',
            csFunc: '&csFunc',
            isDisabled: '=csDisabled'
        },
        link: function (scope, element, attr, ctrl) {

            scope.$watch('checked', function (newValue, oldValue) {
                if (newValue === true) {
                    element.parent().addClass('st-selected');
                } else {
                    element.parent().removeClass('st-selected');
                }
            });
        }
    };
});
<td  cs-select="device" cs-func='selectRow(device.ItsRepairImeiListId)' cs-disabled="false" ></td>

问题是disabled属性由于某种原因不起作用。无论我提供什么价值,都会禁用该复选框。我也试过使用@csDisabled,但没有成功。

关于我应该做什么的任何想法都会在我想要的时候禁用复选框?

1 个答案:

答案 0 :(得分:1)

当您尝试分配范围值disabled属性时,您需要使用ng-disabled指令而不是仅使用disabled

template: '<input ng-model="checked" ng-click="csFunc()" ng-disabled="isDisabled" type="checkbox"/>',