我正在使用一个名为tablesorter的插件。我正在尝试使用rowspan行对表进行排序。但是,它不会正确排序所有列。这是jsFiddle。
<table cellspacing="1" class="tablesorter">
<thead>
<tr>
<th>First Name</th>
<th>Age</th>
<th>Country</th>
</tr>
</thead>
<tbody>
<tr>
<td>Peter</td>
<td>28</td>
<td rowspan="2" style="vertical-align:middle">AAA</td>
</tr>
<tr class="expand-child">
<td>John</td>
<td>33</td>
</tr>
<tr>
<td>Clark</td>
<td>18</td>
<td>BBB</td>
</tr>
<tr>
<td>Bruce</td>
<td>22</td>
<td>CCC</td>
</tr>
</tbody>
</table>
JS
$('table').tablesorter();
年龄列没有正确排序,我如何才能使所有列排序正确?
答案 0 :(得分:4)
问题(在视觉上,而不是技术上)是您标记John
作为Peter
的孩子。因此,只考虑数字28,18和22进行排序。 33从来没有考虑过排序。
如下所示更改前两行似乎可以解决问题
<tr>
<td>Peter</td>
<td>28</td>
<td>AAA</td>
</tr>
<tr>
<td>John</td>
<td>33</td>
</tr>
从您的HTML外观和排序要求来看,您似乎不需要rowspan
或expand-child
类。也许你让rowspan
混淆了2行的相同值?
答案 1 :(得分:0)
你想要初步排序吗?
按年龄排序
$('table').tablesorter({sortList: [[1,0]]});
按名字和年龄排序
$('table').tablesorter({sortList: [[0,0], [1,0]]});