带有build-table-widget的JQuery tablesorter需要从排序中排除最后一行

时间:2016-01-21 16:06:30

标签: jquery tablesorter

我正在使用JQuery Tablesorter插件,来自Mottie的分支,特别是构建表小部件。在进行列排序时,我需要排除最后一行。我与build-table小部件一起使用的CSV文件在最后一行中包含各列的总计。所以CSV文件的最后几行是:

name, number1, number2, number3
,,, (blank row)
totals, sum, sum, sum

问题是当我运行构建表小部件时,它包括排序时的最后一行。我尝试了其他插件,如数学小部件和静态行小部件。我注意到我可以将静态类添加到最后一行,但是当我单击一个标题来排序静态行时会突然丢失。我使用这些插件运行的所有示例都不同于使用build-table插件。另一件事,生成的HTML,build-table创建的DOES包含<tfoot></tfoot>,但它是空的。我甚至试图使用类似JQuery .wrap()的东西并手动包装tr的最后一个tbody元素,但它仍然正在排序:(所以,我的问题是,有什么办法吗?获取构建表小部件以在构建表时从排序中排除最后一行?或者将CSV文件的最后一行放在生成的tfoot标记中?我在构建表文档中读到了一件事选项说“此选项中包含的任何值都将覆盖从CSV数据中获取的任何页脚文本。”如果这可能是一个解决方案,我不确定如何使用页脚文本标记CSV文件。 谢谢你们,我的桌子非常接近!

1 个答案:

答案 0 :(得分:0)

使用CSV数据(docs)查看构建表小部件。有build_footers个选项可以将最后一行作为页脚,应用类名并更改文本(demo):

$(function() {
  $('#table').tablesorter({
    theme : 'blue',
    widgets : ['zebra'],
    widgetOptions : {
      // *** build widget core ***
      build_type     : 'csv',
      build_source   : $('.csv'),
      // triggered event when build completes
      build_complete : 'tablesorter-build-complete',

      // *** CSV & array ***
      build_headers   : {
        rows    : 1,  // Number of header rows from the csv
        classes : [], // Header classes to apply to cells
        text    : [], // Header cell text
        widths  : ['27%', '50%', '20%'] // set header cell widths
      },
      build_footers : {
        rows    : 1,  // Number of header rows from the csv
        classes : [], // Footer classes to apply to cells
        text    : ['A', 'B', 'C'] // Footer cell text
      },

      // *** CSV options ***
      build_csvStartLine : 0,  // line within the csv to start adding to table
      build_csvSeparator : "," // csv separator
    }
  });
});

更改build_footers.text以匹配您想要的页脚文字(例如[ "Total", "Sum", ... ]