我一直在使用数据表一段时间,但显然,我没有以正确的方式使用它们。jquery数据表功能无法操作
在过去,我将开始我的数据表使用$。员额,具体如下:
$(document).ready(function() {
$.post('process/recordTables.php', function(data)
{
var table = $('#example1').DataTables();
table.clear();
var obj = JSON.parse(data);
obj.forEach(function(item)
{
table.row.add([item.column1, item.column2, //and so on]);
});
table.draw();
});
});
上面的代码工作。我的数据表打印我需要的数据。在obj.forEach中,如果需要,我可以设置具有href标记和其他功能的列。
但是,如果我想能够在设定的时间间隔重新加载数据表,我不能使用上面的方法。它必须使用“ajax”方法。
几个试错后,使用下面的代码,我能够打印出的jQuery数据表的“正确”的形式(和使用):
$(document).ready(function()
{
$('#example1').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "process/recordTables.php", // same url as the above code
"type": "POST",
"dataSrc": ''
},
"columns": [
{ "data": "" },
{ "data": "column1" },
{ "data": "column2" },
{ "data": "column3" },
// and so on
],
"iDisplayLength": 25,
"order": [[ 3, "desc" ]],
"scrollY": 550,
"scrollX": true,
"bDestroy": true,
"stateSave": true,
// few others that don't seem to affect functionality
});
});
使用代码立即上面,我能够使用$ .post方法显示相同的数据。
但是......没有一项功能可行。排序不起作用。分页,搜索过滤器和表格底部的数据信息显示“0个0条目”。什么都没有
我错过了什么来解决这个问题?我很困惑。
预先感谢您。
*编辑*
下面是HTML表:
<table id="example1" class="table table-bordered table-hover table-condensed">
<thead>
<tr>
<th></th>
<th>Column1</th>
<th>Column2</th>
<th>Column3</th>
// and so on
</tr>
</thead>
<tbody>
</tbody>
</table>
你能后的行动与此DataTable相关的HTML?并且具有值为''的属性dataSrc将不显示数据。完全删除该属性。 – Cratebox99
添加了表格。我确实有TR和TD标签与TBODY,但仍得到相同的结果。 –
您的HTML很好,只要th计数与dataTable定义中的列匹配,就不需要触摸它。 – Cratebox99