2017-10-03 9 views
0

Salut J'essaie d'obtenir toutes les données à la fois quand je vais cliquer sur checkbox, mais les données ne viennent pas mais quand je clique un par un ID de données à venir. Mais mon problème est de savoir comment obtenir toutes les données dans checkbox tous en seul click.comment obtenir toutes les données en utilisant sélectionnez toutes les cases dans le tableau?

Ceci est HTML Code

<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> 

C'est javascript Code

(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. J'ai besoin de toutes les données à un moment où nous je ne vérifie et le bouton de processus de presse.
  2. Alors s'il vous plaît dites-moi où je devrais ajouter une condition.
+0

utiliser les champs d'entrée cachée pour le repos des données – Patata

+0

pour le repos de les données comme 'data.mobileNumber, data.schoolId' etc passent en tant que type d'entrée caché que vous passez checkbox – Patata

+0

mettez à jour votre question avec la sortie de' console.log (vm.duplicateArray) 'lorsque vous appuyez sur le bouton de processus. – Patata

Répondre

1

ne sais pas pourquoi vous mélangez jquery ici, vous pouvez le faire aussi suivre

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

      data.selected=true; 
} 

puis dans votre case

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

Merci! ça fonctionne bien. –