数据表 - 无法读取未定义的属性 'sSortAscending'
Posted
技术标签:
【中文标题】数据表 - 无法读取未定义的属性 \'sSortAscending\'【英文标题】:Datatable - Cannot read property 'sSortAscending' of undefined数据表 - 无法读取未定义的属性 'sSortAscending' 【发布时间】:2020-06-21 02:40:21 【问题描述】:我正在尝试重新加载数据表的数据。为此,我清理表然后动态添加行。
JS
if ($.fn.DataTable.isDataTable('#tbl_mostrar_alarmas'))
$('#tbl_mostrar_alarmas').DataTable().clear().rows.add(tablaModalData).columns.adjust().draw(); //I SUPPOSE THAT ERROR HERE
$('#tbl_mostrar_alarmas').DataTable(
'responsive': true,
'bRetrieve': true,
"bLengthChange": false,
'pageLength': 5,
"data": tablaModalData,
"order": [
0, 'desc'
],
"columns": [
"data": "fecha",
"defaultContent": "-",
,
"data": "usuario",
"defaultContent": "-"
,
"data": "suceso",
"defaultContent": "-",
],
"columnDefs": [
"targets": 0,
render: function(data)
return moment(data).format('DD/MM/YYYY HH:mm');
]
)
<table id="tbl_mostrar_alarmas" class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>DATA 1</th>
<th>DATA 2</th>
<th>DATA 3</th>
</tr>
</thead>
</table>
返回
jquery.dataTables.min.js:68 Uncaught TypeError: Cannot read property 'sSortAscending' of undefined
那么,有人知道这是怎么回事吗?
【问题讨论】:
您使用的是旧版数据表吗?较新的版本使用$('#tbl_mostrar_alarmas').DataTable
和大写D
。请更正。
【参考方案1】:
试试这样吧:
if ($.fn.DataTable.isDataTable("#achats_table"))
$('#tbl_mostrar_alarmas').DataTable().clear();
$('#tbl_mostrar_alarmas').DataTable().destroy();
$('#tbl_mostrar_alarmas').empty();
【讨论】:
@ElHombreSinNombre 这意味着它正在尝试在销毁完成之前重新创建表。如前所述,尝试使用大写字母 D 初始化数据表。要么用$("#tbl_mostrar_alarmas").dataTable().fnDestroy();
替换我的前两行@
我将数据表更改为数据表(我也更新了问题)并且同样的错误。
@ElHombreSinNombre 尝试在 sn-p 中重新创建问题。因为我给你的代码是重新初始化数据表的正确方法。如果错误仍然存在,那么问题来自其他地方,没有更多细节我无法猜测。
我找到了解决方案并更新了帖子。无论如何感谢您的帮助。
@ElHombreSinNombre 很高兴尝试过;) 在单独的答案中发布您的解决方案,解释问题所在,并将其标记为已回答。【参考方案2】:
解决方案
我找到了解决方案。当我尝试多次加载数据表配置时出现错误。为避免这种情况,我需要检查配置是否已加载(或未加载)并仅加载一次。
if ($.fn.DataTable.isDataTable('#tbl_mostrar_alarmas'))
$('#tbl_mostrar_alarmas').DataTable().clear().rows.add(tablaModalData).columns.adjust().draw();
else
table();
var table = $('#tbl_mostrar_alarmas').DataTable(
'responsive': true,
'bRetrieve': true,
"bLengthChange": false,
'pageLength': 5,
"data": tablaModalData,
"order": [
0, 'desc'
],
"columns": [
"data": "fecha",
"defaultContent": "-",
,
"data": "usuario",
"defaultContent": "-"
,
"data": "suceso",
"defaultContent": "-",
],
"columnDefs": [
"targets": 0,
render: function(data)
return moment(data).format('DD/MM/YYYY HH:mm');
]
table();
【讨论】:
以上是关于数据表 - 无法读取未定义的属性 'sSortAscending'的主要内容,如果未能解决你的问题,请参考以下文章