我目前正在使用一个复选框来切换8个表单元素上的Disabled属性。我在每个元素上使用了ngDisabled Directive。我正在寻找一种无需将指令放在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>

09-16 18:09