Javascript 未捕获类型错误:无法读取属性';aDataSort';未定义的
我正在进行分页,我正在使用插件, 在某些表格上,它是有效的,但在某些表格上,它给出了错误: 未捕获的TypeError:无法读取未定义的属性“aDataSort” 我的页面脚本如下所示:Javascript 未捕获类型错误:无法读取属性';aDataSort';未定义的,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我正在进行分页,我正在使用插件, 在某些表格上,它是有效的,但在某些表格上,它给出了错误: 未捕获的TypeError:无法读取未定义的属性“aDataSort” 我的页面脚本如下所示: $(document).ready(function() { $('.datatable').dataTable( { "scrollY": "200px", "scrollCollapse": true, "info":
$(document).ready(function() {
$('.datatable').dataTable( {
"scrollY": "200px",
"scrollCollapse": true,
"info": true,
"paging": true
} );
} );
<div data-bind="template: { name: 'schedule-table', data: $data, afterRender: setupDataTable }"></div>
//HTML代码
<table class="table table-striped table-bordered datatable">
<thead>
<tr>
<th><?php echo lang('date_label')?></th>
<th><?php echo lang('paid_label')?></th>
<th><?php echo lang('comments_label');?></th>
</tr>
</thead>
<tbody>
<?php foreach ($payments as $pay): ?>
<tr>
<td><?php echo dateformat($pay['time_stamp'], TRUE);?></td>
<td><?php echo format_price($pay['amount']);?></td>
<td><?php echo $pay['note'];?></td>
</tr>
<?php endforeach?>
</tbody>
</table>
不知道问题是怎么来的,我知道这是一个非常常见的错误,但我搜索后发现没有任何支持我的问题。有人知道解决方案吗?在您的代码中使用类似以下内容来禁用对
数据表的排序(改编自我使用最新数据表的项目)
aoColumns
数组描述了每列的宽度及其可排序的属性,根据需要为您自己的表(列数)进行调整。我遇到了同样的问题,后来在columnDefs下的“targets”属性中发现了键入错误。参见下面的示例
下面的代码错误
{
"name": "firstName",
"target": [1],
"visible": false
}
更正-目标中未命中的“s”:(
在导致列未初始化的情况下,可能会发生此错误。我检查了事件“preInit.dt”在这种情况下是否未触发
希望这对其他人有所帮助。我在使用KnockoutJS时遇到了这个问题,因为当javascript尝试将DataTable应用于列时,列尚未定义。我使用KnockoutJS的方法是将数据绑定代码移动到敲除模板中,并使用afterRender事件将DataTable应用于表
以下是指向模板afterRender事件的链接
以下是我的数据绑定的外观:
$(document).ready(function() {
$('.datatable').dataTable( {
"scrollY": "200px",
"scrollCollapse": true,
"info": true,
"paging": true
} );
} );
<div data-bind="template: { name: 'schedule-table', data: $data, afterRender: setupDataTable }"></div>
希望这能帮助其他人寻找knockoutJS解决方案并遇到与我相同的问题。我发现了这个错误,我相信是因为我的“mData”和“sTitle”未定义。将数据表绑定到.Net GridView时,我遇到了类似的问题。如果grid view未定义任何数据和标题值,则抛出:
Uncaught TypeError: Cannot read property 'aDataSort' of undefined
下面是相同的代码
$("#GridView1").prepend($("<thead</thead>").append($("#GridView1").find("tr:first"))).dataTable();
$("#GridView1").dataTable();
$(“#GridView1”)。前置($("显然,您正在某处使用数据表的排序功能,您可以发布整个相关代码吗?可能是某个地方的语法错误..提供相关代码..是的,最有可能的问题是语法错误我已经提供了我的代码,我留下的是我的表,它是动态的,没有答案解决了我的问题,一个接一个接受您的答案。使用AngularJS和AngularDataTables时出现类似错误:我忘记将属性“dt columns”添加到datatables指令。谢谢!
$("#GridView1").prepend($("<thead</thead>").append($("#GridView1").find("tr:first"))).dataTable();
$("#GridView1").dataTable();