jQuery函数未调用模式关闭

时间:2019-09-16 10:19:22

标签: php jquery datatable

我想在关闭引导程序模式时调用一个在服务器端处理我的数据表的函数。

这是我的jQuery

$('#launch').on('hidden.bs.modal', function () {
    fill_datatable();
    console.log(123);
});
console.log(333);
function fill_datatable(filter_status = ''){
    var dataTable = $('#dataTable2').DataTable({
    "processing" : true,
    "pageLength": 25,
    "columnDefs": [
        { "searchable": true, "targets": 0 }
      ],
    "serverSide" : true,
    "createdRow": function(row, data, index) {
        switch (data[8]) {
            default:
                $(row).css('background-color', 'white');
        }
    },
    "order" : [],
    "ajax" : {
        url:"ajax/fetch.php",
        type:"POST",
        data:{ filter_status:filter_status }
    },
    "columnDefs": [
        { "width": "40%", "targets": 3,
          "className": "text-justify", "targets": 3,
          "searchable": true, "targets": 3,
        }
      ]
   });
  }

模式关闭时,我可以在控制台中看到123,但是它没有调用fill_datatable()函数,该函数直接位于on()方法的外部。

请注意,fill_datatable()函数之所以起作用,是因为它在页面加载时处理表,但是我希望在模态中完成操作后刷新它,以便查看最新更改。

2 个答案:

答案 0 :(得分:1)

使用$('#dataTable2').DataTable().destroy();

在调用函数之前销毁dataTable方法。

答案 1 :(得分:0)

尝试在$('#launch')。on('hidden.bs.modal',function(){}。之前定义函数fill_datatable()。