Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:无法读取属性';aDataSort';未定义的_Javascript_Jquery_Jquery Datatables - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性';aDataSort';未定义的

Javascript 未捕获类型错误:无法读取属性';aDataSort';未定义的,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我正在进行分页,我正在使用插件, 在某些表格上,它是有效的,但在某些表格上,它给出了错误: 未捕获的TypeError:无法读取未定义的属性“aDataSort” 我的页面脚本如下所示: $(document).ready(function() { $('.datatable').dataTable( { "scrollY": "200px", "scrollCollapse": true, "info":

我正在进行分页,我正在使用插件, 在某些表格上,它是有效的,但在某些表格上,它给出了错误:

未捕获的TypeError:无法读取未定义的属性“aDataSort”

我的页面脚本如下所示:

$(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();