繁体   English   中英

在基于一个值的一组输入上使用ng-disabled

[英]Using ng-disabled on a group of inputs based on one value

我目前正在使用一个复选框来切换8个表单元素上的Disabled属性。 我在每个元素上使用了ngDisabled指令 我正在寻找一种不必将指令放在8个元素中的每个元素上的方法。 这可能吗?

复选框切换

<input type="checkbox" ng-model="aircraftOnGround" />

当前在每个表单元素上使用的禁用工作指令

ng-disabled="aircraftOnGround"

Codepen在这里: CodePen

您可以使用字段集禁用其中的每个字段。

 var $scope = {}; var myApp = angular.module('myApp', []); myApp.controller('formCtrl', ['$scope', function($scope){ $scope.aircraftOnGround = 'true'; }]); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="myApp"> <form ng-controller="formCtrl"> <fieldset ng-disabled='aircraftOnGround'> <!-- USE NG_DISABLE HERE --> <input type="text"> <input type="text"> </fieldset> <br> <b>aircraftOnGround:</b> <button type="button" ng-click="aircraftOnGround = !aircraftOnGround"><span ng-bind="aircraftOnGround"></span></button> </form> </body> 

您可以使用控制器中的观察器来禁用DOM元素集合。

myapp.controller('mainCtrl', function($scope, $element){
  $scope.aircraftOnGround = false;
  $scope.name = "abdullah";
  $scope.$watch('aircraftOnGround',function(value) {
     $element.find('.form-control').prop('disabled',value);
  });
});

注意:我在示例中使用的是jQuery。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM