jQueryTableSorter init上的插件错误: cannot read property '0' of undefined

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (331)

我想用jQuery插件TableSorter排序我的表。所以我得到这个表:

<table id="stats" class="zebra-striped">
 <thead>
  <tr>
   <th>Date</th>
   <th>Annonce</th>
   <th>Support</th>
   <th>Nb Assoc.</th>
   <th>Nb Transfo.</th>
   <th>Cout</th>
  </tr>
 </thead>
 <tbody>
 </tbody>
</table>

所以你可以看到我的表单是空的,只有标题。所以我init tablesorter与空单元格:

$("table#stats").tablesorter({ sortList: [[0,0]]});

我得到这个错误:

jquery.tablesorter.min.js:4 Uncaught TypeError: Cannot read property '0' of undefined

仅供参考,我的js加载:

<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>
<script src="js/bootstrap-dropdown.js"></script>
<script src="js/bootstrap-scrollspy.js"></script>
<script src="js/jquery.tablesorter.min.js"></script>

任何想法,为什么我得到这个,我怎么可以使插件再次工作?

谢谢

提问于
用户回答回答于

你需要在你的表中有数据,然后你可以调用它的sortList方法。这是因为你在此方法中应用索引,如果没有数据存在,将会找到任何记录,并将抛出“无法读取属性'0'的未定义”错误。

用户回答回答于

当有空表时,使用tablesorter是不好的,因此可以使用以下条件:

if ($("table#stats tbody tr").length > 0)
   $(this).tablesorter({ sortList: [[0,0]]});

扫码关注云+社区

领取腾讯云代金券