簡體   English   中英

具有動態數據的jQuery數據表

[英]jQuery Datatables with Dynamic Data

我有一個簡單的消息傳遞系統,我正在使用jQuery / AJAX從數據庫中檢索消息並追加到表中。 我希望對消息進行分頁,因此我選擇使用DataTables插件( https://datatables.net/ )。

我無法在動態生成的數據中使用此功能。 我還具有“刪除消息”之類的功能,它們隨后將刪除消息,然后再次檢索消息(刷新​​表)。 我收到錯誤“無法重新初始化DataTable”。

到目前為止,這是我的代碼:

function getmessages(){
    $.ajax({
        type: "POST",
        url: "modules/ajaxgetmessages.php",
        dataType: 'json',
        cache: false,
        })
        .success(function(response) {
            if(!response.errors && response.result) {
                $("#tbodymessagelist").html('');
                $.each(response.result, function( index, value) {
                    var messagesubject = value[3];
                    var messagecontent = value[4];
                    var messagetime = value[5];
                    var sendername = value[2];
                    var readstatus = value[7];
                    var messageid = value[8];
                    if (readstatus==0){
                        messageheader += '<tr><td><input type="checkbox" class="inboxcheckbox input-chk"></td><td class="sendername"><b>'+sendername+'</b></td><td class="messagesubject"><b>'+messagesubject+'</b></td><td><b>'+messagetime+'</b></td><td class="messageid" style="display:none">'+messageid+'</td><td class="readstatus" style="display:none">'+readstatus+'</td><td class="messagecontent" style="display:none"><b>'+messagecontent+'</b></td></tr>';
                    } else {
                        messageheader += '<tr><td><input type="checkbox" class="inboxcheckbox input-chk"></td><td class="sendername">'+sendername+'</td><td class="messagesubject">'+messagesubject+'</td><td>'+messagetime+'</td><td class="messageid" style="display:none">'+messageid+'</td><td class="readstatus" style="display:none">'+readstatus+'</td><td class="messagecontent" style="display:none"><b>'+messagecontent+'</b></td></tr>';                                                         
                    }
                });
                $("#tbodymessagelist").html(messageheader);
                $('#tblinbox').DataTable({
                    "paging":   true,
                    "ordering": false,
                    "info":     false
                });
            } else {
                $.each(response.errors, function( index, value) {
                    $('input[name*='+index+']').addClass('error').after('<div class="errormessage">'+value+'</div>')
                });
            }
        });     
}

那么,從本質上講,如何在刪除消息或其他功能之后對表進行更改,然后“刷新”表? 它還Showing 0 to 0 of 0 entries在頁腳中Showing 0 to 0 of 0 entries中的Showing 0 to 0 of 0 entries即使那里有條目。

您必須在創建新實例之前銷毀數據表;

`
           $('#tblinbox').DataTable.destroy();
           $('#tblinbox').empty();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM