在数据表中选择带复选框的行时出错

时间:2017-08-24 15:39:18

标签: javascript jquery ajax datatable

我遇到以下问题:我正在按照这些教程,通过复选框选择的每一行将数据保存在数组中。

与提供的链接一样,我在JSON中接收数据以加载我的dataTable,现在我需要通过一个按钮将新数据添加到我的dataTable中,并为其中的代码添加了更多功能。提供的链接,如下:

要删除数据表:



function destroy_data_table(){
  var table = $('#example').DataTable({
  if (table != undefined){
  table .fnDestroy();
  }
}




点击按钮我销毁我的数据表并调用加载新数据的函数:



$("#btnNewDatatable").click(function (){
  destroy_data_table();
  new_data();
});




这是重新加载数据表的函数:



function new_data(){
  var table = $('#example').DataTable({
  "sAjaxSource": //Here I return in json what my server      sends,
  "fnServerData": function ( sSource, aoData, fnCallback, oSettings ){
    oSettings.jqXHR = $.ajax({
    "dataType": 'json',
    "type": "POST",
    "url": sSource,
    "data": aoData,
    "success": function(result){
      fnCallback(result);
    }
   });
  },
  responsive: true,
  'columnDefs': [{
    'targets': 0,
    'searchable':false,
    'orderable':false,
    'width':'1%',
    'className': 'dt-body-center',
    'render': function (data, type, full, meta){
      return '<input type="checkbox">';
    }
   }]
  });
 }
&#13;
&#13;
&#13;

我的问题是,在加载新的数据库时,当选择一行时,这继续显示来自前一个数据表的数据,我做了一个console.log一个var rows_selected = [];哪个负责存储每个选定行的数据,我严重破坏了表格或者可能是我的错误?

1 个答案:

答案 0 :(得分:0)

你试过吗

将此表变量保持为全局以便于使用。

    //Initialize First time

    var table = $('#example').DataTable({
          ......
          }

    function destroy_data_table(){
    table.clear().draw();
    }

而不是毁灭。