1

我正在使用 sortable 对表格进行排序。我想获得正在排序的项目的下一个或上一个。这是我的代码,一个有 4 行 2 列的 id 和 name 的表:

<script type="text/javascript">
    $(document).ready(function(){
        $("#uat-item-grid .items tbody").sortable({
            stop: function(e, ui) {
                var itemId = ui.item[0].cells[0].outerText;
                console.log(itemId);
            }
        }).disableSelection();
    }
</script>
<div id="uat-item-grid">
<table class="items">
    <tbody class="ui-sortable">
        <tr class="even">
            <td>1</td>
            <td>Item 1</td>
        </tr>
        <tr class="odd">
            <td>2</td>
            <td>Item 2</td>
        </tr>
        <tr class="even">
            <td>3</td>
            <td>Item 3</td>
        </tr>
        <tr class="odd">
            <td>4</td>
            <td>Item 4</td>
        </tr>
    </tbody>
</table>
</div>

它将显示在控制台中排序的当前 id。如何获取正在排序的项目的上一项或下一项,以便获取他们的 ID?例如,被排序的是 2,前一个是 1,下一个是 3。

4

1 回答 1

4

这可以解决问题:

http://jsfiddle.net/Rusln/23gqU/

$("tbody").sortable({
    update:function(ev,ui){
        console.log(ui.item[0].nextElementSibling);
        console.log(ui.item[0].previousElementSibling);
    }
});
于 2013-10-31T08:09:48.680 回答