jQuery可拖放:获取可拖动元素的ID

5

当我拖动到特定的div时,我希望得到被拖动的id。

  Drag  <ul id="demo" > 
         <li id="1" ></li>
         <li id="2" ></li>
        <li id="3" ></li>
        </ul>

         <div class="drop"> drop here!! </div>

JQUERY

  $(".drop").droppable({ 
                drop: function(event, ui) {

      // i need to get dragged id (note:able to  drag multiple ids)

        1,2,3..     

            }       
            });

请帮我一下!! 谢谢。
3个回答

17

正如在jQuery UI dropable文档中所说:

所有回调都接收两个参数:原始浏览器事件和准备好的ui对象,下面查看此对象的文档(如果您将第二个参数命名为“ui”):

ui.draggable - 当前可拖动元素,一个jQuery对象。
ui.helper - 当前拖动助手,一个jQuery对象。
ui.position - 可拖动助手的当前位置 { top: , left: }
ui.offset - 可拖动助手的当前绝对位置 { top: , left: }

ui.draggable是作为jQuery对象被拖放的元素。

因此,您可以使用ui.draggable.prop('id')来获取ID。


我尝试了$(".drop").droppable({ drop: function(event, ui) { var id=ui.draggable.prop('id'); alert(id); } });但是我没有得到任何值。请帮帮我,我正在拖动多个ID。 - Akshay

10
你可以使用ui.draggable来访问可拖动的元素。
drop: function(event, ui) {
    var id = ui.draggable.attr("id");
}

演示: http://jsfiddle.net/9RBJG/


谢谢!但是当我拖放多个项目时,我需要知道我已经拖放的所有ID。就像1、2、3这样。 - Akshay
请帮我获取多个ID。我正在拖动多个ID。 - Akshay

0

您可以将已删除的节点附加到一个 div 上,通过该 div 您可以获取所有已删除的 id。如下所示:

$(".drop").droppable({
    drop: function(event, ui) {
        var id= ui.draggable.attr("id");
        $("#dropped-divs").append(id); 
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接