2011-06-23 50 views
1

我在获取“可排序”中拖动项目的id时遇到问题,您能否帮我解决这个问题。jquery不能在可排序中获得拖动项目id

<script> 
$(document).ready(function(){ 
    $("#div1,#div2,#div3").sortable({ 
     revert: true, 
     accept: '.draggable', 
     connectWith: [".sortable_div"], 
     receive: function(e, ui) { 
      var item_id = $(this).attr("id"); 
      var drag_id = $(ui.item).attr('id') 
      alert('alert:'+item_id+' of '+drag_id); 
     } 
    }).disableSelection(); 
}); 
</script> 


<div id="div1" class="sortable_div"> 
<span id="span1" class="draggable"></span> 
</div> 
<div id="div2" class="sortable_div"> 
<span id="span2" class="draggable"></span> 
</div> 
<div id="div3" class="sortable_div"> 
<span id="span3" class="draggable"></span> 
</div> 

回答

0

如果我理解正确的,你想做的事,我认为你应该做这样的事情是什么:

var drag_id = $(event.target).attr('id') 
+0

其类似于var item_id = $(this).attr(“id”);但我需要可拖动的项目ID。 –

2

您可以通过

receive: function(e, ui) { 
    var item_id = $(this).attr("id"); 
    //ui.draggable.attr('id') or ui.draggable.get(0).id or ui.draggable[0].id 
    var drag_id = ui.draggable.attr('id'); 
    alert('alert:'+item_id+' of '+drag_id); 
    console.log(ui.draggable); // to see the bunch of items 
} 
+0

drag_id没有显示任何控制台说“undefined” –

+0

对不起,使用这个'alert(ui.draggable.attr('id'))' – 2011-06-23 08:16:34

+0

抱歉说,但它在控制台没有做什么,它说“不能读取属性'0'空“ –

10

获得ID要获取可拖动的项目编号:

var drag_id = $(ui.item).attr("id"); 
0

试试这个d ude,

receive: function(e, ui) { 
    var drag_id = ui.draggable.attr("id"); 
    alert('draggable id: ' + drag_id); 
} 
相关问题