我正在使用数据表来显示数据库中的数据,我可以执行删除和编辑操作。通过以下代码,我可以从数据库中获取数据并执行编辑和删除。但问题是当我删除特定行时,它会从数据库中删除但仍显示在数据表中。我使用" table.destroy();"但它给出了以下错误。 未捕获的TypeError:$ .fn.DataTable.isDataTable不是函数。
数据表代码:
<script>
var table;
if($.fn.DataTable.isDataTable('#sun_project_table') ) {
table=$('#sun_project_table').DataTable();
table.destroy();
//$('#category_table_body').empty();
}
table=$('#sun_project_table').DataTable({
"aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
"iDisplayLength": <?php echo 10; ?>,
'bProcessing' : true,
'bServerSide' : true,
'sAjaxSource' : "<?php echo base_url();?>index.php/Registrationc/displayinfo8",
columns: [
{ "name": "van_village_mapping.van_id", "data": "van_id" },
{ "name": "van_village_mapping.village_id", "data": "village_id" },
{ "name": "Actions", "data": "Actions" }
],
"columnDefs": [
{
}],
"createdRow": function ( row, data, index ) {
},
'fnServerData': function(sSource, aoData, fnCallback)
{
aoData.push();
$.ajax
({
'dataType': 'json',
'type' : 'POST',
'url' : sSource,
'data' : aoData,
'success' : fnCallback
});
},
"oTableTools": {
"sSwfPath": "assets/media/swf/copy_csv_xls_pdf.swf",
},
"oLanguage": {
"sSearch": "Filter: "
}
});
});
</script>
<script>
function delete_van_village_mapping($1){
$.ajax({
type:"POST",
url: "<?php echo base_url(); ?>index.php/Registrationc/delete_van_village_mapping1",
data:{van_village_mapping_id:$1},
success: function()
{
alert('done!');
}
});
};
</script>
答案 0 :(得分:3)
对于您的问题,由于您在初始化表时设置了table = $('#sun_project_table').DataTable({...});
,因此如果要在销毁之前检查表是否存在,则可以执行
if(table) {
table.destroy();
...
}
但我同意其他评论,如果你只是想刷新表,你可以删除该行,或清除表并通过ajax再次获取它。