我有几个按钮btn-danger
。我需要使用条件禁用这些按钮。
我的控制器包含以下代码:
if($scope.valuess == 1134){
document.getElementsByClassName("btn-danger").disabled = true;
}
但它显示错误。请帮帮我。
我有很多相同类的页面。因此无法对按钮格式进行更改。我正在寻找控制器页面中的解决方案..
答案 0 :(得分:3)
您可以使用id name
1 test1
2 test2
禁用该按钮。
ng-disabled
了解更多详情:ng-disabled
<button ng-disabled="checked">Button</button>
答案 1 :(得分:0)
也许,getElementsByClassName返回一个元素数组,你需要迭代它们并为每个元素分别设置disabled = true。
答案 2 :(得分:0)
有关更多信息,您无需使用id或类来处理元素,只需要一个灵活的模型来覆盖控制器和视图之间的内容。
您也可以直接在视图中使用条件
var app = angular.module("app", []);
app.controller("ctrl", function($scope){
var value = 1134;
$scope.value = 55;
$scope.disabled = value == 1134 ? true : false;
$scope.items = [{style:'btn-danger', disable: true},{style:'btn-success', disable: false}]
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<button ng-disabled="disabled">button 1</button>
<button ng-disabled="value == 55 ? true : false">button 2</button>
<button>button 3</button>
<hr>
<h5>forEach</h5>
<button ng-repeat="item in items" ng-class="item.style" ng-disabled="item.disable">button {{$index}}</button>
</div>
&#13;
答案 3 :(得分:0)
您可以轻松管理,简单地将add ng-disable连接到范围内的变量。
<button ng-model="button" ng-disabled="myBooleanVariable">Button</button>
控制器上的定义变量
angular.module('controllerAsExample', [])
.controller('MyController ', ['$scope', function($scope) {
$scope.myBooleanVariable = true;
}]);
在你的控制器之后您可以禁用或启用按钮
if($scope.valuess == 1134){
myBooleanVariable = false
}
另一种快速解决方案可以 这个
<button ng-model="button" ng-disabled="values == 1134">Button</button>
答案 4 :(得分:-1)
HTMLElement.getElementsByClassName()
也会返回一个列表。意味着[].disabled
正在向您抛出错误。
如果你的目标是设置disabled
属性的所有元素,你可以这样做
if($scope.valuess == 1134){
document.getElementsByClassName("btn-danger").forEach((e) => {
e.setAttribute('disabled', true);
}
}
您也可以使用ng-disabled
指令
<button ng-disabled="angularjsExpression"></button>