该表为rowspans,因为对于某些用户,我需要有2行(就像你在'D'列看到的那样)
我正在尝试使用数据表:
<table class="table table-bordered table-hover table-striped" id="myTable">
(...)
</table>
我在代码的开头称这个:
<script>
$( document ).ready(function() {
$('#myTable').DataTable();
});
</script>
但我有这个错误:
TypeError:我未定义
表格不像数据表类型!
也许它不适用于rowpans? 有什么想法??
答案 0 :(得分:9)
FWIW如果您在每一行中没有相同数量的<td></td>
元素,您也会收到此错误。确保您没有添加任何带有导航按钮或链接的行或任何类似的行,这些行的格式可能与其他行的格式不同。
答案 1 :(得分:5)
jQuery DataTables插件默认情况下不支持ROWSPAN
属性。但是,jQuery DataTables有一个RowsGroup插件,它将单元格组合在一起,使它们看起来就像使用了ROWSPAN
属性一样。
请参阅this example以获取代码和演示。
答案 2 :(得分:2)
我说你的表不是数据表,因为你有未定义的数据而且'i'被称为DataTable循环的内部迭代器,使用rowspans是问题 - 我会重新设计你的表有每个数据的整行(在你的例子250中需要一个整行,除了D之外的所有其他列都有重复的值) - 完全有可能使用css来隐藏为同一视觉效果重复的值,这样就可以了允许数据表过滤仍然适用于那些行(尽管在过滤这些'额外'行时,您可能需要一些钩子来显示隐藏数据)。
答案 3 :(得分:1)
对于未来的参考者。
这是因为您使用的Rowspan
或colspan
不受支持。
如果您想使用colspan,可以在</tbody>
之外使用它。
感谢。
答案 4 :(得分:0)
如果您的表格格式不正确(例如,您应该拥有),则会发生此问题
<table>
<thead>
<th>
<tbody>
<tr>
<td>
然后,表的ID不应与同一页面上其他任何事物的ID重叠。否则,您将得到类似i被未定义或c未定义的错误。
答案 5 :(得分:0)
我面临着同样的问题。错误的主要原因是由于使用了colspan和rowspan。因为jQuery DataTables插件不支持它们,因此会导致错误。
TypeError:我未定义
因此,如果您在<tr></tr>
内的任何<tbody></tbody>
中使用任何colspan或rowpan,请确保每个<tr></tr>
的每一行都具有相同的<td></td>
号。如果不是,请重复<td style='display:none'></td>
以匹配相同的数字,例如
<table border='1' cellspacing='2'>
<thead>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">1</td>
<td rowspan="2">name</td>
<td>200</td>
<td style='display:none'></td>
<td style='display:none'></td>
</tr>
<tr>
<td >300</td>
<td style='display:none'></td>
<td style='display:none'></td>
</tr>
</tbody>
</table>
我认为通过遵循上述建议可以帮助您确定。