如果选中任何复选框,则将类添加到按钮

时间:2014-04-25 05:55:19

标签: angularjs

我正在使用像这样的ng-repeat生成一些复选框

<input type="checkbox" ng-repeat="item in items" id="{{item.id}} />

有10多个复选框,如果选中任何一个复选框,我想从按钮中删除已禁用的类。

我试过这样但没有工作

<input ng-model="master" type="checkbox" ng-repeat="item in items" id="{{item.id}} />
<input type="button" ng-class="{disabled: !master}" value="Click Me" />

1 个答案:

答案 0 :(得分:0)

每个复选框都应有自己的ng-model。这是一个如何做到这一点的例子::

<input type="checkbox" ng-repeat="item in items" id="{{item.id}} ng-model="item.selected"/>

然后你需要在控制器中创建一个函数,检查是否没有选中复选框:

$scope.areAllUnchecked = function() {
  // loop through all the chcekboxes, return true if all are unchecked
  for (var i = 0; i < $scope.items.length; i++) {
    // ...
  }
}

最后,在你的ng-class中使用这个函数:

<input type="button" ng-class="{disabled: 'areAllUnchecked()'}" value="Click Me" />