排序表无法正常工作
我正在使用名为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();
年龄列不正确排序,我怎么让这个所有列的排序是否正确?
你想要初始排序吗?
排序按年龄
$('table').tablesorter({sortList: [[1,0]]});
排序名字和年龄
$('table').tablesorter({sortList: [[0,0], [1,0]]});
问题(视觉,不是技术上的)是,你有一个标记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行相同的值?
这是一个非常简单的例子,我为一个更大的问题。我需要有rowspan,我需要它根据年龄 – user2896120
相应地排序然后,您目前的示例工作正常。你不能指望一个孩子与父母一起排序。孩子会坚持它的父母。 –
孩子应该在其父母中排序,虽然 – user2896120
对我来说,演示并没有正确排序。订单下降时,年龄属性按“28-> 33-> 8-> 22”排序。 –
我看到@ShanevandenBogaard相同 - 所有排序选项都能正常工作*除了*年龄递减。 –
@RoryMcCrossan:按降序排序,33在28之后而不是在之前。 [Maaz找出原因](https://*.com/a/45195312/157247)。 –