如何在DataTable中获取所有选定的子行

时间:2016-12-05 17:17:13

标签: javascript jquery datatable datatables

我目前在DataTable jquery中安静了。所以我现在面临一个大问题。我有一个使用DataTable jquery创建子行的表。这些数据来自数据库。 表中的每一行都有一个复选框,并将提交所有选定的子行。我的问题是,当我想提交数据时,似乎我的代码不能正常工作,如果我更改paginator。这意味着,当我选择第1页和第2页中的所有行时,第2页中只有行被提交请任何人帮帮我。下面是我的代码供你参考。任何帮助将不胜感激。

将通过单击按钮

来提交所有选中的行
$('#OthersSubmit2').on('click', function(e){

      var type_of_invoice = $('#TypeInvoiceId2').val();
      var program_id = $('#ProgramId2').val();
      var sponsorship_id = $('#SponsorshipId2').val();
      var result = [];

      var data_filter = [];
      data_filter = {'type_of_invoice': type_of_invoice,
                     'program_id':program_id,
                     'sponsorship_id':sponsorship_id};


      var rowcollection =  table.$("input:checked", {"page": "all"});
      $.each($(rowcollection), function(index,rows) {
      var data = $(this).parents('tr:eq(0)');

          var transaction = [];
          var data2 = [];
          var stu_master_id = $(data).find('td:eq(0)').attr('id');
          var a = $(data).parent().find('table[id='+stu_master_id+']');
          console.log(a);
          var sub_tbl = $(a).DataTable().$("input:checked", {"page": "all"});
          $.each($(sub_tbl), function(index2,rows2) {

              data2 = $(this).parents('tr:eq(0)');
              var d = $(data2).find('td:eq(0)').attr('id');
              transaction.push(d);
          });
          result.push({'stu_master_id':stu_master_id,
                               'transaction_id':transaction});
      });
      data_filter['data'] = result;
});

0 个答案:

没有答案