jQuery DataTable fnDestroy重新格式化表

时间:2013-09-12 21:17:04

标签: javascript jquery css datatable styles

页面加载以下相关HTML

<table id="tblBlacklist"></table>

加载完成后,将调用以下JS函数

function getResults() {
 $.ajax({

    type: "POST",
    url: "Blacklist.aspx/GetBlacklist",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {

        var $table = $("#tblBlacklist");
        $table.html(msg.d);

        $('#tblBlacklist').dataTable({
            "bJQueryUI": true,
            "sPaginationType": "full_numbers",
            "iDisplayLength": 25
        });

    }
 });
}

用户可以从页面上的选择对象中选择不同的过滤器,然后执行:

$('#tblBlacklist').dataTable().fnDestroy()
ViewBlacklistItems();

在用新结果填充表后,它的格式完全不同!如何让它在“之前”图像中保持相同的格式?

通过jQuery传回的HTML表(用于初始调用和子调用)不包含CSS ...

之前

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我最终找到了这篇文章

Datatables on-the-fly resizing

提供解决方案的链接,将bAutoWidth设置为false

http://datatables.net/ref#bAutoWidth

我的问题略有不同,因为我没有调整父DIV的大小......但是正在用新的结果破坏和重建DataTable。