0

ネストされたテーブルがあり、内側のテーブルと外側のテーブルの両方に行が動的に追加されています。内部テーブルの更新をトリガーすると、内部テーブルの順序が変更された後、外部テーブルの順序も変更されます。これを示すためにjsfiddleを作成しました。

http://jsfiddle.net/FZLxp/

これはOSの質問から分岐したものです。ネストされたjQueryTablesorterテーブル、すべて並べ替え可能

問題を確認するには、トヨタが一番上になるように外側のテーブルをMakeで並べ替えてから、[更新]ボタンをクリックします。更新ボタンは、内側のトヨタテーブルの更新をトリガーしますが、外側のテーブルも並べ替えて、ToyotaDoors列の並べ替え方向を反映します。

外部テーブルも並べ替えずに行を追加した後、内部テーブルを並べ替えるにはどうすればよいですか?

<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 に答える