jquery sortable删除排序前的下一行

问题描述 投票:0回答:1

我有一个包含parentchild的表,如下所示。 parent是可排序的。当我尝试对任何父项进行排序时,我必须将其下一个child删除,并将其插入新位置之后。

<table>
    <tr class="parent"><td>Parent1</td></tr>
    <tr class="child nosort"><td>Child1</td></tr>
    <tr class="parent"><td>Parent2</td></tr>
    <tr class="child nosort"><td>Child2</td></tr>
    <tr class="parent"><td>Parent3</td></tr>
    <tr class="child nosort"><td>Child3</td></tr>
</table>

因此,如果我将Parent1移到Parent2之后,它将看起来是:

<table>       
    <tr class="parent"><td>Parent2</td></tr>
    <tr class="child nosort"><td>Child2</td></tr>
    <tr class="parent"><td>Parent1</td></tr>
    <tr class="child nosort"><td>Child1</td></tr>
    <tr class="parent"><td>Parent3</td></tr>
    <tr class="child nosort"><td>Child3</td></tr>
</table>

我已经完成了在sortupdate之后插入子行的操作,但是无法弄清楚如何在排序之前删除子行。如果代码写在start上,则在下面。

$('table').sortable({
    items: 'tr:not(.nosort)',
    start: function( event, ui ) {
        // Removal code of child before sort
        var objChild = ui.item.next();
        if( objChild.hasClass('child') ) {
            objChild.remove();
        }
    },
    update: function( event, ui ) {
    //  insertion code of child
    }
});
jquery jquery-ui-sortable
1个回答
0
投票

回答完全

© www.soinside.com 2019 - 2024. All rights reserved.