嵌套的jQuery Tablesorter表,全部可排序

时间:2012-02-26 02:13:57

标签: jquery tablesorter

我正在尝试使用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>

1 个答案:

答案 0 :(得分:5)

我已经分配了你的jsfiddle,并用选择器进行了更新,因为它按照我认为你想要的顺序进行了... http://jsfiddle.net/P2DsY/

您可以从我的fork中看到您只需要特定于表分类器插件配置。