我有一个表,其中包含一些带有日期的数据,我希望它按空单元格进行排序。默认情况下,tablesorter将它们放在底部,我需要它们在顶部。 我读了其他相关文章,但似乎没有一个对我有用,我正设法弄清原因。
我正在使用Tablesorter 2.29.5
/*! TableSorter (FORK) v2.29.5 *//*
* Client-side table sorting with ease!
* @requires jQuery v1.2.6+
我正在正确设置库(其他所有东西都可以正常工作)
这是我在Jquery中的tablesorter配置:
$('#tablesorter')
.tablesorter({
theme : 'blue',
widgets: ['filter', 'reflow','resizable'],
sortList: [[0,0]],
emptyTo: 'top',
widgetOptions: {
resizable: true,
resizable_widths : [ '12%', '12%', '10%', '10%', '10%', '10%', '17%', '9%', '9%','0%']
}
}).tablesorterPager({
container: $(".paginatorTableSorter"),
output: '{{ "table.showing"|trans }} {startRow} {{ "table.to"|trans }} {endRow} ({filteredRows})'
});
$(".tablesorter").data('tablesorter').widgets = ['zebra', 'columns'];
$(".tablesorter").trigger('applyWidgets');
$('#tablesorter')
.trigger('sortReset')
.trigger('filterReset')
.trigger('resizableReset')
.trigger('pageAndSize', [1, 10]);
我也尝试按列进行排序,但由于它们是日期,因此空单元格将被忽略,因此我在jQuery tablesorter文档https://mottie.github.io/tablesorter/docs/#emptyto
之后设置emptyTo:'top'这是我的(自适应的)html(和Twig):
<thead>
<tr class="warning">
<th class="text-center">{{ 'table.title.time.check-in' |trans }}</th>
<th class="text-center">{{ 'table.title.time.check-out' |trans }}</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-center">{{ line.FECHA_E }}</td>
<td class="text-center">{{ line.FECHA_S }}</td>
</tr>
</tbody>
我想念什么吗?
答案 0 :(得分:0)
是的,是的。正如Mottie所说,我仔细检查了输入的真实值并发现了问题。
<tbody>
<tr>
<td class="text-center">{{ line.FECHA_E }}</td>
<td class="text-center">{% if line.FECHA_S is null %}{% else %}{{ line.FECHA_S }}{% endif %}</td>
</tr>
</tbody>
发布问题后,我意识到我将.trigger('sortReset')
留在了配置中,但是在我的代码中对此进行了注释。
万一有人复制我的tablesorter配置,只要删除该部分,就不会重置默认的排序值。
再次感谢Mottie!