繁体   English   中英

如何使用表中的全选复选框获取所有数据?

[英]how to get all data using select all checkbox in table?

嗨,我想一次获取所有数据,当我单击checkbox ,但数据没有出现,但是当我一个接一个地单击数据ID时。 但是我的问题是如何click即可获取checkbox中的所有数据。

这是HTML代码

<div id="wrapper" class="wrapper">
    <div ng-include="'views/partials/navigator.html'"></div>
    <div class="page-content-wrapper">
        <div ng-include="'views/partials/header.html'"></div>
        <div class="row">
            <div class="col-md-12">
                <h3>Student Information</h3>



                <table id="example" class="table">
                    <tr>
                        <th>Name</th>
                        <th>Mobile</th>
                        <th>Siblling</th>
                        <th>select all <input type="checkbox" id="slctAllDuplicateStd"/></th>

                    </tr>
                    <tr ng-repeat="data in vm.data">
                        <td>{{data.name}}</td>
                        <td>{{data.mobileNumber}}</td>
                        <td>{{data.isMigrated}}</td>
                        <td><input type="checkbox" ng-model="data.selected" class="duplicateRow" /></td>
                    </tr>
                    <tr>
                    <tr>
                    <button class ="button" ng-click="vm.process()">Process</button>
                    </tr>
                </table>
                    <table class="table">
                        <tr>
                            <td colspan="4">
                                <pagination ng-if="renderpagination" page-number='{{vm.pageNumber}}' page-count="{{vm.pageCount}}" total-records="{{vm.totalRecords}}" api-url="duplicate-student"></pagination>
                            </td>
                        </tr>
                    </table>
            </div>
        </div>
    </div>
</div>

这是JavaScript代码

(function() {
    angular
        .module('vidyartha-coordinator')
        .controller('StudentDuplicateAccountController', StudentDuplicateAccountController);

    StudentDuplicateAccountController.$inject = ['$scope', 'ApiService', '$routeParams', '$http', '$location', '$timeout'];

    function StudentDuplicateAccountController($scope, ApiService, $routeParams, $http, $location, $timeout) {
        var vm = this;
        //console.log($routeParams)
        var page = $routeParams.page || 1;
        // vm.data = [];
        ApiService.getAll('student-duplicate-account?pageCount=5&pageNumber=' + page).then(function(response) {
            //console.log("response::"+JSON.stringify(response));
            vm.data = response.data.records;
            vm.pageNumber = response.data.pageNumber;
            vm.totalRecords = response.data.totalRecords;
            vm.pageCount = response.data.pageCount;
            $scope.renderpagination = true;
        });

        $("#slctAllDuplicateStd").click(function () {
            $(".duplicateRow").prop('checked', $(this).prop('checked'));
            // console.log('data:::'+JSON.stringify(data));

        });

        vm.process = function() {
          vm.duplicateArray = [];
          angular.forEach(vm.data, function(data){
            if (data.selected) {
              console.log("true")
              vm.duplicateArray.push(data.tenantId);
              vm.duplicateArray.push(data.mobileNumber);
              vm.duplicateArray.push(data.schoolId);
              vm.duplicateArray.push(data.classId);
            }
          });

          console.log(vm.duplicateArray)

        }
    }

})();
  1. 我需要一次检查所有数据,然后按处理按钮。
  2. 所以请告诉我我应该在哪里添加一些条件。

不知道为什么在这里混用jquery,可以按照以下步骤进行

vm.selectAll =function(){
angular.forEach(vm.data, function(data){

            data.selected=true;
}

然后在您的复选框

 <th>select all <input type="checkbox" ng-click="vm.selectAll()"/></th>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM