1

テーブルのソートに sortable を使用しています。ソートされているアイテムの次または前を取得したいと思います。これが私のコードです。IDと名前の4行2列のテーブルです。

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