【问题标题】:Disabling the checkbox in angular directive template禁用角度指令模板中的复选框
【发布时间】:2016-03-07 04:42:32
【问题描述】:

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

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,但没有成功。

关于我应该做什么来禁用复选框的任何想法?

【问题讨论】:

    标签: javascript html angularjs checkbox angularjs-directive


    【解决方案1】:

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

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

    【讨论】:

    • 好吧,终于设法让它工作了。非常感谢您的宝贵时间!
    • @Cemre 很高兴为您提供帮助..谢谢 :)
    猜你喜欢
    • 2021-02-22
    • 2016-05-02
    • 1970-01-01
    • 2013-11-25
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多