javascript 数据表未捕获的类型错误:无法设置未定义的属性“0”
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23154317/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
DataTables Uncaught TypeError: Cannot set property '0' of undefined
提问by noobprogrammer
I have a repeater and wrap it all with DataTables
library. Here is the following js function.
我有一个中继器,并用DataTables
库将其全部包装起来。这是以下js函数。
function createDataTable() {
$(document).ready(function() {
$('#tblMessages').dataTable({
"sPaginationType": "full_numbers",
"sDom": '<"clreol"lf><"scrollable_datatable"rt><"clreol"ip>',
"bPaginate": true,
"bLengthChange": false,
"bFilter": true,
"bInfo": false,
"bAutoWidth": false,
"bAutoHeight": false,
"bSort": false,
"bStateSave": true,
"iCookieDuration": 60*60*24
});
});
}
I got no pagination at all just scroll bar on the right side of the repeater. And I got this on console:
我根本没有分页,只有中继器右侧的滚动条。我在控制台上得到了这个:
Uncaught TypeError: Cannot set property '0' of undefined jquery.dataTables.min.js:366
Y jquery.dataTables.min.js:366
(anonymous function) jquery.dataTables.min.js:454
jQuery.extend.each jquery.min.js:21
jQuery.fn.jQuery.each jquery.min.js:12
i.fn.dataTable jquery.dataTables.min.js:434
(anonymous function) Message.aspx:156
jQuery.fn.extend.ready jquery.min.js:26
createDataTable Message.aspx:152
What's wrong? And what should I do?
怎么了?我该怎么办?
回答by Gyrocode.com
Check your table structure:
检查您的表结构:
Number of columns (
th
) inthead
section must equal number of columns (td
) intbody
section. See manualfor proper HTML structure.If you're using
colspan
orrowspan
attributes forth
elements inthead
section, make sure that each column has one uniqueth
element. See this examplefor more info and demonstration.