Angularjs ng-disabled按钮,用于多个复选框输入

时间:2015-11-08 15:45:33

标签: javascript angularjs

我有以下掠夺者:

http://plnkr.co/edit/ZJq0Qy3j5nGr1eJ9f9QA?p=preview

我想要做的是,如果选中至少一个复选框,则启用该按钮。

<button class="btn btn-danger" ng-click="removeSelectedRows()">Remove Selected Rows</button>

这很有效:

<button ng-disabled="mySwitch">Click</button>
<input type="checkbox" ng-model="mySwitch">

但是当我将它应用于我的示例时,它什么也没做。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

请检查此插件:http://plnkr.co/edit/WpK2KXtAJC3gfl8MoMlZ?p=preview

如果模型中的任何项目true使用$scope.$watch函数,您可以运行检查:

 $scope.$watch('tableSelection', function(val){
    if(val){ //if value is not empty
      $scope.disableRemoveButton = true;
      for (var i in val){ //iterate props of the Object
        if(val.hasOwnProperty(i)){ //only needed props
          if(val[i] == true) { 
          $scope.disableRemoveButton = false;
          }
        }
        }
      }
  }, true)

如果模型中存在真值,我们还会引入正在更改的其他标记$scope.disableRemoveButton。这对应于模板中的<button class="btn btn-danger" ng-disabled="disableRemoveButton"