我正在使用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。
答案 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);
}
});