jquery ui sortable获取前一个和下一个项目的排序

时间:2013-10-23 08:56:27

标签: jquery-ui jquery-ui-sortable

我正在使用sortable来排序表。我想获得正在排序的项目的下一个或上一个。这是我的代码,一个包含4行和2列id和名称的表:

<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。

1 个答案:

答案 0 :(得分:4)

这样可以解决问题:

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

$("tbody").sortable({
    update:function(ev,ui){
        console.log(ui.item[0].nextElementSibling);
        console.log(ui.item[0].previousElementSibling);
    }
});