0
我有一个简单的消息系统,我使用jQuery/AJAX从数据库中检索消息并追加到表中。我想分页的消息,所以我选择使用DataTables插件(https://datatables.net/)。带动态数据的jQuery数据表
我在使用我的动态生成数据时遇到了问题。我还有一些功能,如“删除消息”,然后删除该消息,然后再次检索消息(刷新表格)。我收到错误“无法重新初始化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
,即使这里有条目。
尝试'破坏:TRUE' –
有在数据表选项有阿贾克斯 - 这样你就可以得到数据表来完成所有的沉重的东西,分页/排序,所以你不再需要的所有行加载为一体。从长远来看,当有很多消息时,这会很好。 –