0

我有嵌套表,其中内部和外部表都动态添加了行。当我触发内表的更新时,内表顺序改变后,外表的顺序也改变了。我创建了一个 jsfiddle 来证明这一点:

http://jsfiddle.net/FZLxp/

这是从 OS 问题Nested jQuery Tablesorter tables, all sortable

要查看问题,请按 Make 对外部表进行排序,使 Toyota 位于顶部,然后单击“更新”按钮。更新按钮会触发内部 toyota 表的更新,但也会对外部表进行排序以反映 Toyota Doors 列的排序方向。

添加其他行后如何对内部表进行排序而不对外部表进行排序?

<script type="text/javascript">
function updateRW() {
    $("#toyota").trigger("update", [true]);
}
</script>

<table class="tablesorter">
    <thead>
        <tr>
            <th>Make</th>
            <th>Model</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Honda</td>
            <td>Accord</td>
        </tr>
        <tr class="tablesorter-childRow">
            <td colspan="2" style="padding: 0 30px 0 30px;">
                <table class="tablesorter-child">
                    <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="tablesorter-childRow">
            <td colspan="2" style="padding: 0 30px 0 30px;">
                <table id="toyota" class="tablesorter-child">
                    <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>
<input type=button value="update" onclick="updateRW()">

$(document).ready(function() 
{ 
    $("table").tablesorter({selectorHeaders: '> thead > tr > th'}); 
});
4

1 回答 1

1

这似乎是 tablesorter 中的错误!

我已经打开了一个问题,以便我们可以跟踪它,我应该在下一次更新中解决这个问题。

感谢您的报告!

于 2013-03-23T14:21:56.807 回答