2017-10-05 51 views
1

我有問題,當我選擇任何複選框只有選定的行數據應該在模型對話框內可見。如何在模型對話框中獲取選中的複選框行數據?

  1. 但我是我的情況,當我點擊過程(即調用模型對話框)所有數據來我要麼選擇或不。
  2. 但點擊保存數據按鈕(這是模型內)後,我選擇的數據是正確的。
  3. 但我必須在點擊保存數據按鈕之前顯示數據。

HTML代碼

<div class="row"> 
      <div class="col-md-12"> 
       <h1>OMR Duplicate Students List</h1> 
       <table id="example" class="table"> 
        <tr> 
         <th><input type="checkbox" ng-click="vm.selectAll()" 
         /></th> 
         <th>Name</th> 
         <th>Mobile</th> 
        </tr> 
        <tr ng-repeat="data in vm.data"> 
         <td><input type="checkbox" ng-model="data.selected"class="duplicateRow" /></td> 
         <td>{{data.name}}</td> 
         <td>{{data.mobileNumber}}</td> 
        </tr> 
        <tr> 
        <tr> 
        <button type ="submit" class="button pull-right" data-toggle="modal" data-target="#myModal">Process</button> 
        </tr> 
       </table> 
        <table class="table"> 
         <tr> 
          <td colspan="4"> 
           <pagination page-number='{{vm.pageNumber}}' page-count="{{vm.pageCount}}" total-records="{{vm.totalRecords}}" api-url="duplicate-student"></pagination> 
          </td> 
         </tr> 
        </table> 
      </div> 
     </div> 
     <div id="myModal" class="modal fade"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
       <h4 class="modal-title">These Recods You are Selected</h4> 
      </div> 
      <div class="modal-body"> 
       <div class="row"> 
      <div class="col-md-12"> 
       <!-- <div ng-if="data.selected === 'true'"> --> 
       <table id="example" class="table"> 
        <tr> 

         <th>Name</th> 
         <th>Mobile</th> 
        </tr> 
        <tr ng-repeat="x in vm.data"> 
         <td>{{x.name}}</td> 
         <td>{{x.mobileNumber}}</td> 
        </tr> 


       </table> 
       <!-- </div> --> 

      </div> 
     </div> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       <button type="button" class="btn btn-primary" ng-click="vm.process()">Save Data</button> 
      </div> 
     </div> 
     <!-- /.modal-content --> 
    </div> 

的Java腳本代碼

function StudentDuplicateAccountController($scope, ApiService, $routeParams, $http, $location, $timeout) { 
      var vm = this; 
      var page = $routeParams.page || 1; 
      vm.data = []; 


      vm.selectAll =function(){ 
       angular.forEach(vm.data, function(data){ 
       if (data.selected) { 
        data.selected = false; 
       } else { 
        data.selected=true; 
       } 
       }); 
      } 


      vm.selectedUsers = []; 


      vm.process = function() { 
       vm.selectedUsers.splice(0, vm.selectedUsers.length); 
       vm.data.forEach(function(studentData){ 
       if(studentData.selected) { 
        vm.selectedUsers.push(studentData); 
       } 
       }) 
       console.log("selectedUsers:::::::::"+JSON.stringify(vm.selectedUsers)) 
       if (vm.selectedUsers.length === 0) { 
        toastr.info('Selected atleast one record.', null, { 
          timeOut: 3000 
        }) 
        return; 
       } else { 
       ApiService.save() 
// some code 
       } 
      } 

回答

2

更改HTML模式,以

<tr ng-repeat="x in vm.data" ng-if="x.selected"> 
         <td>{{x.name}}</td> 
         <td>{{x.mobileNumber}}</td> 
        </tr> 

禁用過程按鈕

創建像

vm.isContainsSelected = function(){ 
return vm.data.some(function(d){return d.selected}) 
} 

一個函數,那麼在過程按鈕

<button ng-disabled="!vm.isContainsSelected()" >proceess</button> 
+0

由於其工作。並想知道如何限制進程按鈕util至少選中一個複選框。 – user8725046

+0

當我選擇一個或多個複選框時,這不起作用,但如果我沒有選擇任何複選框,那麼它可以工作。但我需要相反的。 – user8725046

相關問題