首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何重新加载/刷新jQuery dataTable?

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

Stack Overflow用户
提问于 2012-10-17 20:16:58
回答 21查看 552.7K关注 0票数 97

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

这就是我所拥有的:

代码语言:javascript
复制
$(document).ready(function() {
    $("#my-button").click(function() {
        $("#my-datatable").dataTable().fnReloadAjax();
    });
});

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

EN

回答 21

Stack Overflow用户

回答已采纳

发布于 2012-10-17 20:34:13

您可以尝试以下操作:

代码语言:javascript
复制
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();
    });
}
// Edited by Prasad
function AutoReload() {
    RefreshTable('#HelpdeskOverview', '/Helpdesk/ActiveCases/noacceptancetest');

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

$(document).ready(function() {
    InitOverviewDataTable();
    setTimeout(function() {
        AutoReload();
    }, 30000);
});

http://www.meadow.se/wordpress/?p=536

票数 33
EN

Stack Overflow用户

发布于 2014-06-17 09:18:18

在DataTables的1.10.0版本中,它是内置的,并且很容易:

代码语言:javascript
复制
var table = $('#example').DataTable();
table.ajax.reload();

或者只是

代码语言:javascript
复制
$('#example').DataTable().ajax.reload();

http://datatables.net/reference/api/ajax.reload()

票数 156
EN

Stack Overflow用户

发布于 2016-06-21 19:09:18

首先销毁datatable,然后绘制datatable。

代码语言:javascript
复制
$('#table1').DataTable().destroy();
$('#table1').find('tbody').append("<tr><td><value1></td><td><value1></td></tr>");
$('#table1').DataTable().draw();
票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12934144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档