Угловой JS NG-Disabled не работает

0

Мой HTML...........................................................................

 <div id="ButtonController" ng-app="buttons" ng-controller="ButtonController   as controller">

            @*<span ng-disabled="controller.access.canClose">@Html.Kendo().Button().Name("tabDelete").Content("Close").Icon("cancel")</span>
            <span ng-disabled="controller.access.canEdit">@Html.Kendo().Button().Name("Edit").Content("Edit")</span>*@
        <button ng-disabled="controller.access.canClose" class="k-button k-button-icontext" title="Close Tab" type="button" id="tabDelete" >Close</button>
        <button ng-disabled="controller.access.canEdit" class="k-button k-button-icontext" title="Edit" type="button" id="Edit" >Edit</button>
        <button id="save" class="k-button k-button-icontext" >Save</button>

    </div>

мой js

  (function () {
var app = angular.module('buttons', []);

app.controller('ButtonController', function ($scope, $http) {
    $scope.myfunctions = function (obj) {
        if (obj != "Stop") {
            $http.get("/home/setButtonRights?tr_code=" + obj)
                   .success(function (response) {
                       buttonVisibility.canClose = response.canClose;
                       buttonVisibility.canEdit = response.canEdit;
                   })
                       .error(function () { alert("Done") });
        } else {
            buttonVisibility.canClose = true;
            buttonVisibility.canEdit = true;


        }
    }

        this.access = buttonVisibility;

});
}
var buttonVisibility = {
    canEdit: true,
    canClose:true
}

})();

когда я пропускаю "Стоп", чтобы эти кнопки контроллера все еще активны. Я хочу отключить эти кнопки, когда наступает остановка obj.

2 ответа

1

Почему вы пытаетесь достичь, это немного странно. Вы хотите disabled атрибут на <span>... но почему? <span> не является элементом формы. Браузер не будет уважать этот атрибут для элемента, отличного от формы.

Вы должны либо использовать <button> либо ng-класс, как этот ng-class={'disabled':'some-bool-criteria'}

0

В вашем коде есть дополнительная привязка. Иначе это должно работать нормально. Вот обновленный:

(function () {
var app = angular.module('buttons', []);

app.controller('ButtonController', function ($scope, $http) {
    $scope.myfunctions = function (obj) {
        if (obj != "Stop") {
            $http.get("/home/setButtonRights?tr_code=" + obj)
                   .success(function (response) {
                       buttonVisibility.canClose = response.canClose;
                       buttonVisibility.canEdit = response.canEdit;
                   })
                       .error(function () { alert("Done") });
        } else {
            buttonVisibility.canClose = true;
            buttonVisibility.canEdit = true;


        }
    }

        this.access = buttonVisibility;

});

var buttonVisibility = {
    canEdit: true,
    canClose:true
}

})();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню