无法对表行使用选中/未选中的复选框逻辑

时间:2018-04-03 13:51:12

标签: javascript angularjs camunda camunda-modeler

我想在我的表中添加check all复选框,它可以将已检查的数据收集到一个数组中(我将其设置为camunda嵌入式表单环境) 这是我的代码,应该帮助我做到这一点:

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

    };

p.s 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(我的意思是如果它部署没有错误我不能正确使用它) 我该怎么做才能使这段代码有效?

2 个答案:

答案 0 :(得分: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> 

答案 1 :(得分:0)

除语法错误外,这种情况是错误的,不会做任何事情:

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

应该是相反的:

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

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