2016-01-21 89 views
1

我正在使用JQuery Tablesorter插件,来自Mottie的fork,特别是构建表部件。进行列排序时,我需要排除最后一行。我在构建表窗口小部件中使用的CSV文件在最后一行包含相应列的总计。所以CSV文件的最后几行是:带构建表widget的JQuery tablesorter需要排除最后一行排序

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

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

回答

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", ... ]

+0

Mottie,我可以做一些像build_footers,只是给它的行数,我想成为页脚?我无法对页脚标题进行硬编码,因为我从外部CSV文件获取数据,因此它们可能会更改。我只是希望表生成器获取导入的最后一行并将其作为页脚。我现在正在试验它,但没有得到它的工作。表格完全没有build_headers数组。感谢您的帮助! - Tom –

+0

我认为它必须是从外部csv文件构建表的方式。它不漂亮,但我用jQuery来操纵生成的HTML。我可以让页脚添加并保持放置,但是当我对列进行排序时,“总计”行会回来。试过类似.remove()和.css(“display”:none)的东西,但是,当我对“totals”行重新填充的列进行排序时,我认为它必须是widget中的东西-build-table.js文件将.csv文件中的最后一行区分为页脚,并将其保留为独立。您认为Mottie是什么? –

+0

也许尝试使用在之后触发的'tablesorter-build-complete'事件构建将表格添加到DOM,我还可以添加一个选项,使页脚成为最后一行,而不是克隆标题行 – Mottie