2017-02-04 3 views
1

Я пытаюсь отправить все записи в таблицу данных jQuery, когда я нажимаю кнопку «Выбрать все (гиперссылку)» или «Мне нужны конкретные записи на определенных страницах» (с помощью флажка), но проблема заключается в том, когда я нажимаю кнопку отправки формы. Экспортируя PDF, я получаю только записи с текущей страницы, даже если записи выбраны на других страницах в таблице данных таблицы jquery.Как отправить на записи в таблицу разбиения на страницы на класс сервера

<s:form id="downloadStudentDetailsForm" action="downloadStudentDetails" theme="css_xhtml" cssClass="form-horizontal"> 

<div class="dataTable_wrapper"> 
<table width="100%" class="table table-striped table-bordered table-hover" id="dataTS"> 
<thead> 
<tr> 
<th><a href="#" id="selectall">Select all</a></th> 
<th>Student Name</th> 
<th>Parent Phone</th> 
<th>Parent Email</th>              
<th>ReferenceID</th> 
</tr> 
</thead> 
<tbody> 
<s:iterator value="studentRecords"> 
<tr> 
<td><s:checkbox name="students" cssClass="case chkPassport" fieldValue="%{studentname+' '+phone+' '+email+' '+ref}" /></td>                
<td><s:property value="studentname" /></td> 
<td><s:property value="phone" /></td> 
<td><s:property value="email"></td>               
<td><s:property value="ref" /></td> 
</tr> 
</s:iterator> 
</tbody> 
</table> 
</div> 
<div class="col-xs-1 "> 
<s:submit cssClass="btn btn-success" value="Export to Excel" id="exl" action="downloadStudentsListINExcel" /> 
</div> 
<div class="col-xs-3 "> 
<s:submit cssClass="btn btn-danger" value="Export to PDF" id="pdf" action="downloadStudentsListInPDF" /> 
</div> 
</s:form> 

Script

$("#selectall").click(function() { 
     var rows = table.rows({ 'search': 'applied' }).nodes(); 

     debugger; 
     if($('.case:checkbox:checked', rows).length == rows.length){ 
     $('.case', rows).prop('checked', false); 
     } 
     else{ 
     $('.case', rows).prop('checked', true); 
     } 


    $('#dvcount').html($(rows).find(".case:checkbox:checked").length); 

    $("body").on("change","input",function() { 

     var rows = table.rows({ 'search': 'applied' }).nodes(); 
     $('#dvcount').html($(rows).find(".case:checkbox:checked").length); 

    }); 

     }); 
     }); 

enter image description here

ответ

0

Я дал идентификатор для флажка, затем ниже код работает для меня

$(document).ready(function() { 
      $('#yourDataTableID').DataTable(); 
      $("#button").click(function() { 
       var chcklist = new Array(); 
       var oTable = $('#yourDataTableID').dataTable(); 
       var rowcollection = oTable.$("#checkboxID:checked", {"page": "all"}); 
       rowcollection.each(function(index,elem) { 
        chcklist.push($(elem).val());  
       });  

       $.ajax({ 
         type : 'POST', 
         url: "/DataTableQuery/checkPaginatedData", 
         dataType : 'JSON', 
         data : {list: chcklist}, 
         success : function(data, success) {   

       } 
       }); 
      }); 
     }); 
Смежные вопросы