Javascript 单击“角度”按钮时选择多个复选框

Javascript 单击“角度”按钮时选择多个复选框,javascript,html,angularjs,angularjs-ng-repeat,Javascript,Html,Angularjs,Angularjs Ng Repeat,我的HTML代码中有一个表,其中的行由AngularJS ng repeat生成。每行在第一列中包含一个复选框和其他数据 在相应的列中。单击另一个div中的此按钮时,我试图将所有复选框标记为选中 {{row.data1}} {{row.data2}} 使用指令ng checked <tbody> <tr ng-repeat="row in myObject track by $index" ng-class-even="'alternate-row'">

我的HTML代码中有一个表,其中的行由AngularJS ng repeat生成。每行在第一列中包含一个复选框和其他数据 在相应的列中。单击另一个div中的此按钮时,我试图将所有复选框标记为选中


{{row.data1}}
{{row.data2}}

使用指令
ng checked

<tbody>
  <tr ng-repeat="row in myObject track by $index" ng-class-even="'alternate-row'">
    <td name="checkbox">
      <input type="checkbox" ng-checked="checkAll" ng-model="row.checked" ng-style="row.checkboxStyle" ng-click="setSelectedRow(row)" />
    </td>
    <td>{{ row.data1 }}</td>
    <td>{{ row.data2 }}</td>
  </tr>
</tbody>

使用指令
ng checked

<tbody>
  <tr ng-repeat="row in myObject track by $index" ng-class-even="'alternate-row'">
    <td name="checkbox">
      <input type="checkbox" ng-checked="checkAll" ng-model="row.checked" ng-style="row.checkboxStyle" ng-click="setSelectedRow(row)" />
    </td>
    <td>{{ row.data1 }}</td>
    <td>{{ row.data2 }}</td>
  </tr>
</tbody>
您可以这样做:

<table>
    <tbody>
      <tr ng-repeat="row in myObject track by $index" ng-class-even="'alternate-row'">
        <td name="checkbox">
          <input type="checkbox" ng-model="row.checked" ng-style="row.checkboxStyle" />{{row.checked}}
        </td>
        <td>{{ row.data }}</td>
      </tr>
    </tbody>
  </table>


  <div class="btn-group">
    <button type="button" id="selectAll" class="btn btn-default" title="Select All" ng-click="selectAllGrid()">Select All</button>
  </div>

{{row.checked}
{{row.data}}
全选
在控制器中:

app.controller('MainCtrl', function($scope) {
  $scope.allchecked  = false;

  $scope.selectAllGrid = function(){
    console.log($scope.allchecked);
    $scope.allchecked = !$scope.allchecked
   for(var i =0; i<$scope.myObject.length; i++) {
     $scope.myObject[i].checked = $scope.allchecked ;
   }
  }

  $scope.myObject = [
      {"data": "sdfsdf"},
      {"data": "asdfassafs"},
      {"data": "asesfrsaedfsadfsadsd"}
    ]
});
app.controller('MainCtrl',函数($scope){
$scope.allchecked=false;
$scope.selectAllGrid=function(){
log($scope.allchecked);
$scope.allchecked=!$scope.allchecked
对于(var i=0;i您可以这样做:

<table>
    <tbody>
      <tr ng-repeat="row in myObject track by $index" ng-class-even="'alternate-row'">
        <td name="checkbox">
          <input type="checkbox" ng-model="row.checked" ng-style="row.checkboxStyle" />{{row.checked}}
        </td>
        <td>{{ row.data }}</td>
      </tr>
    </tbody>
  </table>


  <div class="btn-group">
    <button type="button" id="selectAll" class="btn btn-default" title="Select All" ng-click="selectAllGrid()">Select All</button>
  </div>

{{row.checked}
{{row.data}}
全选
在控制器中:

app.controller('MainCtrl', function($scope) {
  $scope.allchecked  = false;

  $scope.selectAllGrid = function(){
    console.log($scope.allchecked);
    $scope.allchecked = !$scope.allchecked
   for(var i =0; i<$scope.myObject.length; i++) {
     $scope.myObject[i].checked = $scope.allchecked ;
   }
  }

  $scope.myObject = [
      {"data": "sdfsdf"},
      {"data": "asdfassafs"},
      {"data": "asesfrsaedfsadfsadsd"}
    ]
});
app.controller('MainCtrl',函数($scope){
$scope.allchecked=false;
$scope.selectAllGrid=function(){
log($scope.allchecked);
$scope.allchecked=!$scope.allchecked

对于(var i=0;iit起作用。谢谢mate。但是我单击复选框时执行的操作没有发生。。另外,在我手动单击复选框后,按钮停止工作,不再选择任何进一步的操作。它起作用了。谢谢mate。但是我单击复选框时执行的操作没有发生。。也是在我单击复选框之后手动x按钮停止工作,不再选择任何进一步的选项。谢谢。这是一个很好的答案。但是如何调用在我实际将复选框标记为选中时调用的函数/事件。不理解。你能详细解释一下吗。当我手动单击复选框以选中/取消选中它时,会触发一个事件,并且我在JS中调用一个方法来在事件中。我用复选框所在行的值填充一个数组。现在,当我用按钮选中/取消选中复选框时,该方法不会在复选框选中/取消选中时触发。确定。我更新了plunker。一旦看到。如果我错过了任何内容,请告诉我。谢谢。这是一个很好的答案。但是,如何调用我创建时调用的函数/事件呢Sicaly将复选框标记为选中。不明白。您能详细解释一下吗。当我手动单击复选框以选中/取消选中它时,会触发一个事件,我在JS中为该事件调用一个方法。我用该复选框所在行的值填充一个数组。现在,当我用按钮选中/取消选中它时,该方法不可用ng按复选框check/uncheck.Ok开火。我更新了plunker。一旦看到。如果我遗漏了什么,告诉我。