0

我想将选中所有复选框添加到我的表中,这将能够将检查的数据收集到一个数组中(我正在将它制作成 camunda 嵌入式表单环境)这是我的代码,它应该可以帮助我做到这一点:

$scope.checkAll = function () {
        if ($scope.selectedAll) {
            $scope.selectedAll = true;
        } else {
            $scope.selectedAll = false;
        }
        angular.forEach($scope.selectedDocuments, function (item) {
            item.selectedDocuments = $scope.selectedAll;
        });

    };

ps selectedDocuments 是我的数组

这是我的html代码:

<table name ="table" id="myTable" class="table table-hover  table-list-search" data-table="order-table" style="width:100%;" cellspacing="0">
            <thead>
                <tr>
                    <th style="width:80px; height:25px;"><input style="width:25px; height:25px;" type="checkbox" ng-model="selectedAll" ng-click="checkAll()"></th>
                    <th style="width:140px;">id</th>
                    <th style="width:305px;">organizationName</th>
                    <th style="width:305px;">priority</th>
                     <th>&nbsp;</th>
                </tr>           
            </thead>
            <tbody ng-repeat="item in jsonData" >
                <tr>
                    <td><input type="checkbox" ng-change="sync(item.Selected, item)"  ng-checked="isChecked(item.id) ng-model="item.Selected""  /></td> 
                    <td>{{item.id}}</td>
                    <td>{{item.organizationName}}</td>

                     <td>{{item.priority}}</td>                   
                     <td><button class="btn btn-default btn-xs" ng-click="toggle($index)"><span class="glyphicon glyphicon-eye-open"></span></button></td>


    </tr>   
    </table>

但是当我部署此代码时,我通常会收到此错误:意外令牌或者如果它部署时没有错误,我无法在主复选框单击时选择所有 td-es(我的意思是如果它部署时没有错误,我无法正确使用它)什么我应该更改以使此代码正常工作吗?

4

2 回答 2

0

意外标记是您的 HTML 中的语法错误。

这个:

<td><input type="checkbox" ng-change="sync(item.Selected, item)"  ng-checked="isChecked(item.id) ng-model="item.Selected""  /></td> 

应该:

<td><input type="checkbox" ng-change="sync(item.Selected, item)"  ng-checked="isChecked(item.id)" ng-model="item.Selected" /></td> 
于 2018-04-03T14:15:34.090 回答
0

除了语法错误之外,这个条件是错误的,不会做任何事情:

if ($scope.selectedAll) {
    $scope.selectedAll = true;
} else {
    $scope.selectedAll = false;
}

应该是相反的:

    if (!$scope.selectedAll) {
        $scope.selectedAll = true;
    } else {
        $scope.selectedAll = false;
    }

如果 selectedAll 为 false,则将其设置为 true。

于 2018-04-03T14:23:17.587 回答