如何重新加载/刷新jQuery dataTable?

我正在尝试实现一些功能,即单击屏幕上的按钮将导致我的[QuerydataTable刷新(因为自创建dataTable以来服务器端数据源可能已更改)。

这是我所拥有的:

$(document).ready(function() {

$("#my-button").click(function() {

$("#my-datatable").dataTable().fnReloadAjax();

});

});

但是当我运行它时,它什么也没做。单击按钮时刷新dataTable的正确方法是什么?提前致谢!

回答:

您可以尝试以下方法:

function InitOverviewDataTable()

{

oOverviewTable =$('#HelpdeskOverview').dataTable(

{

"bPaginate": true,

"bJQueryUI": true, // ThemeRoller-stöd

"bLengthChange": false,

"bFilter": false,

"bSort": false,

"bInfo": true,

"bAutoWidth": true,

"bProcessing": true,

"iDisplayLength": 10,

"sAjaxSource": '/Helpdesk/ActiveCases/noacceptancetest'

});

}

function RefreshTable(tableId, urlData)

{

$.getJSON(urlData, null, function( json )

{

table = $(tableId).dataTable();

oSettings = table.fnSettings();

table.fnClearTable(this);

for (var i=0; i<json.aaData.length; i++)

{

table.oApi._fnAddData(oSettings, json.aaData[i]);

}

oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();

table.fnDraw();

});

}

function AutoReload()

{

RefreshTable('#HelpdeskOverview', '/Helpdesk/ActiveCases/noacceptancetest');

setTimeout(function(){AutoReload();}, 30000);

}

$(document).ready(function () {

InitOverviewDataTable();

setTimeout(function(){AutoReload();}, 30000);

});

以上是 如何重新加载/刷新jQuery dataTable? 的全部内容, 来源链接: utcz.com/qa/428711.html

回到顶部