无法使用fnReloadAjax数据表

时间:2017-10-20 03:22:33

标签: javascript jquery datatables

每当我点击fnReloadAjax()按钮时,我都尝试使用tambahskpd重新加载我的数据表ajax。以下是语法:

 $(document).ready(function(){

$('#tambahskpd').click(function(){
   skpd.fnReloadAjax();
})

      $('#skpdtabel').on('click', 'a.skpdid', function (e) {
          e.preventDefault();
          var dataskpd = skpd.row($(this).parents('tr') ).data();
      });

      var skpd = $('#skpdtabel').DataTable({
        "ajax": "<?php echo base_url(); ?>pelaporan/show_skpd",    
        "columns": [
           {
              "data": "id",
              render: function (data, type, row, meta) {
                  return meta.row + meta.settings._iDisplayStart + 1;
                 }
          },
            { "data": "nama_skpd" },
            { "data": "nip" },
            { "data":"nama_pimpinan"},
            { "data":"nama_jabatan"},
            { "data":"id_objek_penugasan"},
            { "data":"id_sub_objek_penugasan"},
            { "data":"alamat"},
            { "data":"id_unit_penugasan"},
          {
           "data": null, 
           "sDefaultContent": '<a href="" class="btn btn-primary skpdid">Pilih</a>'
          }

        ]
    }); 
});

每当我尝试点击tambahskpd时。它总是说skpd.fnReloadAjax(); is not a function。我的代码可能出现什么问题?我使用了datatable 1.10

我试过这个Update datatables (JQuery) when button is clicked

我尝试了 mbeasley 回答,但它对我没用

2 个答案:

答案 0 :(得分:2)

fnReloadAjax是您必须包含的deprecated plugin,如果您想使用它。但是,由于您使用的是1.10,因此您不需要它,正确的语法是:

skpd.ajax.reload();

答案 1 :(得分:1)

要刷新表格,请尝试以下方法:

$('#skpdtabel').click(function() {
    var table = $('#skpdtabel').DataTable();
    table.clear().draw();
    $.post("<?php echo base_url(); ?>pelaporan/show_skpd", {}, function(data) {
        table.rows.add(data).draw();
    }, 'json');
});