拖动多个ID时无法获取所有ID

时间:2012-05-19 16:09:30

标签: jquery jquery-ui jquery-ui-draggable

当我跌入某个div时,我希望获得多个拖动的ID。

$(ui.draggable).attr('id');只获得第一个ID。

不工作:

var m_ids = [];
$.each($(ui.draggable), function(i,e) {
    m_ids.push(e.id);  // not getting multiple ids
    alert(m_ids);
});

拖动

<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) {
        var m_id = $(ui.draggable).attr('id');// only gets 1st id
        var m_ids = [];
        $.each($(ui.draggable), function(i,e) {
             m_ids.push(e.id);  // not getting multiple ids
             alert(m_ids);
        });
    }       
});

请帮帮我。

1 个答案:

答案 0 :(得分:2)

你有没有尝试过:

var m_ids = [];

$.each($(ui.draggable), function(i,e) {
   m_ids.push(e.id);  // getting all id's of matched elements in $(ui.draggable) selector
});

console.log(m_ids);

如果只有一个元素,$(ui.draggable)可能只包含一个元素,而其他元素可能是子元素,请使用console.log($(ui.draggable))检查控制台。