如何设置要在Angular中选择的所有ng-repeat行

时间:2016-07-08 14:12:21

标签: angularjs ng-repeat

我有一个简单的重复显示用户详细信息。我正在尝试设置要选择的所有行。

目前,我可以使用以下代码手动单击并选择所有行:

 <tr  ng-repeat="room in classrooms" ng-class="{'selected': room.selected}" ng-click="select(room)">
控制器中的

$scope.select = function(item) {
    item.selected ? item.selected = false : item.selected = true;
}

并从我使用逻辑

的所选行中获取数据
$scope.getAllSelectedRows = function() 
{
  var x = $filter("filter")($scope.classrooms, 
    {
        selected: true
    }, true);

  console.log(x);
}

从@KADIMA回复更新

$scope.toggleSelectAll = function()
{
   angular.forEach($scope.classrooms, function(room) {
       room.selected ? room.selected = false : room.selected = true;
    })
}

2 个答案:

答案 0 :(得分:1)

如果要选择所有数据,可以使用angular.forEach()方法设置所选属性。 https://docs.angularjs.org/api/ng/function/angular.forEach

在你的情况下:

angular.forEach(x, fuction(value) {
  value.selected = true;
}

答案 1 :(得分:1)

在控制器中设置新功能:

$chartOsData['data']['datasets'][0]['data'][] = (int)$o->total;
$chartOsData['data']['datasets'][0]['backgroundColor'][] = $tiposOs[$o->status];
                                ^^^

然后你可以在你的html中创建一个按钮来调用这个函数。