我正在使用DataTables插件来使我的表互动。如何刷新数据表
该表在页面上由PHP进行回显。
当我向数据库添加一条记录时,我使用jQuery load()加载表,但这会中断DataTables。
如何更新表格,同时仍然保持DataTables完整?
注意:我使用DOM作为数据源而不是服务器端处理。
我正在使用DataTables插件来使我的表互动。如何刷新数据表
该表在页面上由PHP进行回显。
当我向数据库添加一条记录时,我使用jQuery load()加载表,但这会中断DataTables。
如何更新表格,同时仍然保持DataTables完整?
注意:我使用DOM作为数据源而不是服务器端处理。
如果要完整地重新加载整个表,请将您的初始数据表初始化代码包装在一个函数中。在页面加载时调用该功能。当用ajax完全替换表格时,你可能应该删除由插件创建的表格父div,作为它创建的所有非表格DOm元素的包装。如果表格ID =“example”,包装id =“example_wrapper”。
这里有足够的代码可能会帮助你顺利完成任务。有个简单的方法,只更新行,但由于请求的是一个完整的表重装我已经按照那个
function initDataTables(){
$('#myTable').datatables({/* put all current options here*/})
}
/* within ready event of pageload */
$(function(){
initDataTables();
/* all other page load code*/
});
/* use $.get to reload table */
$.get(tableUpdateUrl, data, function(returnData){
$('#myTable').parent().replaceWith(returnData);
/* re-initalize plugin*/
initDataTables();
});
非常感谢,稍微编辑它,它完美的作品:D – 2012-03-12 21:39:37
这是一个很多额外的负载在页面上是没有必要的。 DataTables提供了将新行添加到数据集的方法。 – 2012-07-03 20:42:37
什么是tableUpdateUrl? – 2013-06-05 19:36:30
你应该可以使用ajax插件。 http://datatables.net/plug-ins/api
当您创建数据表,分配结果值到一个变量:
var table = $(".something").dataTable();
当您创建新项目时,可能通过AJAX确保返回表格需要显示的属性。然后,在您的success
函数中,可以使用fnAddData
方法向表中添加新行。这种方法需要在值的阵列,第一个进入在第一列中,第二次在第二,等等:
success: function(response){
table.fnAddData([
response.id,
response.name,
response.description,
]);
}
可以详细了解fnAddData
方法here。
你能发布你用来设置数据表的javascript代码吗? – 2012-03-12 20:48:10
$( '#新')的dataTable({ \t \t \t “iDisplayLength”:5, \t \t \t “sPaginationType”: “full_numbers” \t \t});。 – 2012-03-12 20:51:05
尝试'“bDestroy”:true' – 2012-03-12 20:53:17