2

刚刚完成了我的第一个 html,将 csv 文件中的数据呈现到漂亮的表格中。我现在的问题是我需要添加一个总行,并意识到:

  1. 我在 csvtotable 中没有选项(据我所知)将最后一行标记为总计,<tfoot>
  2. 我无法将信息添加到 just-converted-from-csv-html-file 中,因为它实际上不存在:例如在第二行中添加总计并将它们标记为<tbody class="tablesorter-no-sort">.
  3. 也许另一种方法是创建只有一行的第二个表并在主表的顶部或底部添加:我担心在这种情况下我会发现列宽的问题,因为它们在两个表中会有所不同。

有什么方法可以设法在输出中添加或识别总计行?谢谢,

作为参考,我的简单代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="../../js/ts/css/theme.default.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="../../js/ts/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../js/ts/js/jquery.tablesorter.widgets.min.js"></script>
<script type="text/javascript" src="../../js/csv/js/jquery.csvToTable.js"></script>

<script>
$(function() {
   $('#myTable').CSVToTable('fam.txt',
{
startLine: 1,
separator: ";"
}
).bind("loadComplete",function() {
   $(document).find('#myTable').tablesorter({sortList: [[0,0], [1,0]],widgets:
   ["zebra", "stickyHeaders"]});
});;
});
</script>

</head>
<body>

<table id="myTable" class="tablesorter">
</table>

</body>
</html>
4

1 回答 1

2

如果您需要操作表格,请在“loadComplete”事件函数中进行。

试试这个:

$(function() {
  var mytable = $('#myTable')
    .CSVToTable('fam.txt',{
      startLine: 1,
      separator: ";"
    })
    .bind("loadComplete",function(){
      var footer = mytable.find('tr:last');
      // if you try to append a tr wrapped in a tfoot, jQuery will assume you are
      // adding a tr and put it inside the tbody... so target the tfoot (parent)
      mytable
        .find('thead').after( footer.wrap('<tfoot/>').parent() ).end()
        .tablesorter({
          sortList: [[0,0], [1,0]],
          widgets: ["zebra", "stickyHeaders"]
        });
    });
});
于 2013-03-29T20:12:29.283 回答