2016-09-29 112 views
0

我有一个从控制器在索引方法发送的数据中加载的选项卡中的数据表。重新加载数据表而无需使用ajax刷新

$data = array(
    'documents'  => $this->getDocuments(), 
    //more stuff... 
); 

$this->load->view($this->config->item('groupViews') . 'example/example_edit_view', $data); 

我有装载数据表

<div class="form-group col-md-12"> 
    <table 
     id="t_documents" 
     class="table table-striped table-bordered table-hover" 
     cellspacing="0" 
     width="100%"> 
    </table> 
</div> 

的观点,然后我加载数据表中的JavaScript时,页面加载

var documentos = <?php echo json_encode($documents); ?>; 
    if (documentos !== null){ 
     var table = $('#t_documents').DataTable({ 
      language: { 
       "url": "<?=trad($this,'LANG_DATATABLES');?>" 
    }, 
    data: documents, 
    paging: true, 
    ordering: true, 
    pageLength: 10, 
    columns: [ 
     { title: "" }, //Download button 
     { title: "<?=trad($this,'FILE_NAME');?>" }, 
     { title: "<?=trad($this,'FILE_TYPE');?>" }, 
     { title: "" }  //Delete button 
    ] 
    }); 
} 

我有一个删除功能了。如何重新加载数据(使用ajax从控制器再次获取数据)而不重新加载页面?

+0

使用ajax请求 – madalinivascu

回答

2
 var table=$('#tableid'); 
$('#tableid').on('click','thedeletebuton_id',function(event) { 
     event.preventDefault(); 
     var id=$(this).data('id'); // pass the id to the controller to delete using ajax 
     $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url('your controller'); ?>", 
      data: {id:id}, 
      success: function(data) 
      { 
      table.ajax.reload(); /// reloads the table 
      alert('Deleted'); 
      } 
     }); 

     }); 
+0

感谢它适用于我。 – Noark

+0

@Noark有趣的是,我刚刚实施了这个代码15分钟之前,我回答了这个问题....很高兴它来到更多的使用,然后只是我的应用程序:) –

+0

什么运气!谢谢 – Noark

相关问题