Вложенные таблицы jQuery Tablesorter, все сортируемые - PullRequest
5 голосов
/ 26 февраля 2012

Я пытаюсь получить плагин jQuery Tablesorter для работы с вложенными таблицами, где как внутренние, так и внешние таблицы можно сортировать. Каждая строка внешней таблицы обычно содержит кнопку, которая при нажатии открывает скрытую внутреннюю таблицу в строке чуть ниже ее (хотя для простоты я пропустил кнопку в HTML-коде ниже, сделав все изначально видимым).

Внутренняя таблица находится в строке с классом "expand-child", который сообщает Tablesorter, что при сортировке она должна находиться со строкой чуть выше нее. Это в основном работает, но заголовки внешних таблиц не подсвечиваются правильно при нажатии, а внутренняя таблица сортируется неправильно.

Я знаю о этом вопросе SO , и что одним из решений является отключение сортировки во внутренней таблице, но я специально хочу, чтобы и внешняя, и внутренняя таблицы могли сортироваться.

Мой 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 Ответ

5 голосов
/ 26 февраля 2012

Я разбудил ваш jsfiddle и обновил его с помощью селекторов, так как он упорядочивается так, как я думаю, вы этого хотите ... http://jsfiddle.net/P2DsY/

Вы можете видеть из моей вилки, что вам просто нужно быть конкретным с таблицейнастройка плагина сортировщика.

...