目前,我的表排序器排序存在一些问题。问题是我正在对时间进行排序,但是当该列包含n / a时,我希望它显示在排序的末尾。谁能帮我实现这一目标?
这是我的排序代码...
$("#myStoreStatus").tablesorter({
sortList: [[2,1],[8,0],[0,0]],
stripingRowClass: ['even','odd'],
stripeRowsOnStartUp: true,
widthFixed: false,
widgets: ['zebra'],
dateFormat: "uk",
headers: {
0: { sorter: 'digit' } // column number, type
}
});
据我了解的问题是,即使时间列的排序顺序已更改,您也希望n / a行始终显示在末尾。
这是一种可能的选择。
$("#myStoreStatus").tablesorter({
sortList: [[2,1],[8,0],[0,0]],
stripingRowClass: ['even','odd'],
stripeRowsOnStartUp: true,
widthFixed: false,
widgets: ['zebra'],
dateFormat: "uk",
headers: {
0: { sorter: 'digit' } // column number, type
},
textExtraction: function (node) {
if (($(node).index()==8) && ($(node).text().toLowerCase()=='n/a'))
$(node).parent().addClass('jsnamark');
return $(node).text();
}
}).bind('sortEnd' function () {
$(this).append($(this).find('.jsnamark'));
});
现在,这种和平正在做的事情很简单。它使用textExtraction函数检查第8个(时间)单元格是否具有'n / a'值。如果这样做,则将jsnamark类添加到其行中。(您也可以使用jQuery或通过服务器端以几种不同的方式执行相同的操作,如果您使用服务器脚本来提供页面)。
排序完成后,它将具有jsnamark类的行重新追加到表的末尾。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句