简体   繁体   中英

jQuery function not calling on modal close

I want to call a function that processes my datatable at the serverside when I close a bootstrap modal.

This is my 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,
        }
      ]
   });
  }

When the modal closes I can see 123 in my console but it doesnt call the fill_datatable() function, which is placed directly outside of the on() method.

Note that the fill_datatable() function works because it processes the table on page load, but I want it to refresh after an action is done in the modal so I see the latest changes.

使用$('#dataTable2').DataTable().destroy();在调用函数之前销毁dataTable方法$('#dataTable2').DataTable().destroy();

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM