获取可排序jQuery中拖动列表项的ID

kga*_*iro 6 jquery list jquery-ui-sortable

我有这个HTML:

<ul>
    <li id='item1'>First</li>
    <li id='item2'>Second</li>
    <li id='item3'>Third</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这个.sortable jQuery:

$(function(){
    $("#listofpages").sortable({

    }
})
Run Code Online (Sandbox Code Playgroud)

如何获取被拖动元素的id?

Jas*_*ske 17

update事件回调中你可以这样做(演示):

$( "#listofpages" ).sortable({
  update: function( event, ui ) {
    var id = ui.item.attr("id");
  }
});
Run Code Online (Sandbox Code Playgroud)

  • 我在我的iPhone上输入这个不支持排序但这可能是一个有效的演示:http://jsfiddle.net/gefQs/(jsfiddle在iPhone上并不那么容易)(只是测试了它,它的工作原理) !:) (2认同)

Nic*_*haw 6

上一个答案非常好,但是您应该使用receive事件而不是update,它会根据需要触发两次,并且会引发问题,因为它会针对从先前列表中删除的元素触发一次,而针对添加到新列表中的元素触发一次。

$( "#listofpages" ).sortable({
  receive: function( event, ui ) {
    var id = ui.item.attr("id");
  }
});
Run Code Online (Sandbox Code Playgroud)