AngularJS设置禁用/启用按钮,而不使用ng-disabled和ng-click动态生成的html

时间:2017-03-22 12:31:20

标签: javascript angularjs angularjs-ng-click angularjs-ng-disabled

我有一个问题如何解决实现按钮刷新(启用/禁用)而不使用ng-disabled和ng-click

我已向我的指令发送以下配置(一个或多个按钮)

buttonsConfig() {
  var button1 = {
    icon: '<i class="fa fa-check"></i>',
    name: button,
    actionEvent: () => { this.openConfirm(); },
    order: 1,
    active: false,
    large: true
    }
}

这是我如何动态制作HTML并检查禁用/启用按钮的配置文件

link: ng.IDirectiveLinkFn = ($scope: IActionBarScope, $element: ng.IAugmentedJQuery, $attrs: ng.IAttributes) => {
            var navbar = this.drawActionBar($scope.config);

            var padder = angular.element('<div id="padder" ng-if="action.isOpen"></div>');
            this.$compile(navbar)($scope);
            this.$compile(padder)($scope);

            $element.append(navbar, padder);
                }

        setupButtonActions(element: ng.IAugmentedJQuery, config) {
            if (config.actionEvent != null) {
                if (config.active === false) { //skip undefined or true
                    element.addClass("disabled");
                } else {
                    element.removeClass("disabled");
                    element.mouseup(config.actionEvent);
                }
            }
        }

在我的指令中我在动态HTML网格(CSS)上生成html按钮(小/大),所以我不知道如何绑定该按钮被启用/禁用。

在使用我使用的指令之前:

<button ng-if="!ctrl.isReadOnly" type="submit" class="btn btn-flat btn-primary" ng-disabled="!ctrl.selectedAreReady()" ng-click="ctrl.openConfirm()"><i class="fa fa-check"></i> {{'button' | translate}}</button>

并且它在html中都是静态的,没有编码,所以我通过 ng-disabled = ctrl.selectedAreReady()发出了启用或不启用按钮的信息。

检查前的

(解除按钮) enter image description here

选中后

(启用按钮) enter image description here

1 个答案:

答案 0 :(得分:0)

如果你不想禁用ng,你可以使用与javascript相关的API。

document.getElementById("myBtn").disabled = true;

如果您想再次启用该按钮,可以将其设置为 false