本文介紹了在不使用ajax刷新的情況下重新加載數據表的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我在一個選項卡中有一個數據表,它是從控制器通過 index 方法發送的數據加載的.
$data = 數組('文件' =>$this->getDocuments(),//更多東西...);$this->load->view($this->config->item('groupViews') .'example/example_edit_view', $data);
我有加載數據表的視圖
<表id="t_documents"class="table table-striped table-bordered table-hover"細胞間距=0"寬度="100%">
然后我在加載頁面時在javascript中加載數據表
var documentos = <?php echo json_encode($documents);?>;如果(文檔!== null){var table = $('#t_documents').DataTable( {語: {"url": "<?=trad($this,'LANG_DATATABLES');?>"},數據:文件,分頁:真的,訂購:真實,頁長:10,列: [{ title: "" },//下載按鈕{ title: "<?=trad($this,'FILE_NAME');?>"},{ title: "<?=trad($this,'FILE_TYPE');?>"},{ title: "" }//刪除按鈕]});}
我也有刪除功能.如何在不重新加載頁面的情況下重新加載數據(使用 ajax 再次從控制器獲取數據)?
解決方案
var table=$('#tableid');$('#tableid').on('click','thedeletebuton_id',function(event) {event.preventDefault();var id=$(this).data('id');//將 id 傳遞給控制器??以使用 ajax 刪除$.ajax({類型:POST",url: "<?php echo base_url('你的控制器'); ?>",數據:{id:id},成功:功能(數據){table.ajax.reload();///重新加載表警報('已刪除');}});});
I have a datatable in a tab that is loaded from data sended by the controller on index method.
$data = array(
'documents' => $this->getDocuments(),
//more stuff...
);
$this->load->view($this->config->item('groupViews') . 'example/example_edit_view', $data);
I have the view for loading the datatable
<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>
then I load the datatable in javascript when the page is loaded
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
]
});
}
I have a delete function too. How can I reload the data (using ajax for getting the data from controller again) without reloading the page?
解決方案
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');
}
});
});
這篇關于在不使用ajax刷新的情況下重新加載數據表的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!