我正在尝试使用jQuery Tablesorter插件来处理嵌套表,其中内部表和外部表都是可排序的。外表的每一行通常都包含一个按钮,当单击它时,它会在其正下方的行中显示一个隐藏的内部表(虽然为了简单起见,我已跳过下面HTML中的按钮,使所有内容最初都可见。)
内部表与一个“expand-child”类在一行中,它告诉Tablesorter在排序时将它与正上方的行保持在一起。这主要是有效的,但是外部表格标题在单击时没有正确突出显示,并且内部表格根本没有正确排序。
我知道this SO question,并且一个解决方案是禁用内部表上的排序,但我特别希望外表和内表都可以排序。
我的HTML在下面,我还创建了一个显示问题的jsfiddle。谢谢你的帮助。
<table class="tablesorter">
<thead>
<tr>
<th>Make</th>
<th>Model</th>
</tr>
</thead>
<tbody>
<tr>
<td>Honda</td>
<td>Accord</td>
</tr>
<tr class="expand-child">
<td colspan="2" style="padding: 0 30px 0 30px;">
<table class="tablesorter">
<thead>
<tr>
<th>Doors</th>
<th>Colors</th>
</tr>
</thead>
<tbody>
<tr>
<td>Honda 2-Door</td>
<td>Honda Red</td>
</tr>
<tr>
<td>Honda 4-Door</td>
<td>Honda Blue</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>Toyota</td>
<td>Camry</td>
</tr>
<tr class="expand-child">
<td colspan="2" style="padding: 0 30px 0 30px;">
<table class="tablesorter">
<thead>
<tr>
<th>Doors</th>
<th>Colors</th>
</tr>
</thead>
<tbody>
<tr>
<td>Toyota 2-Door</td>
<td>Toyota Yellow</td>
</tr>
<tr>
<td>Toyota 4-Door</td>
<td>Toyota Green</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:5)
我已经分配了你的jsfiddle,并用选择器进行了更新,因为它按照我认为你想要的顺序进行了... http://jsfiddle.net/P2DsY/
您可以从我的fork中看到您只需要特定于表分类器插件配置。