1

当我拖放到某个 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>

查询

$(".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);
        });
    }       
});

请帮帮我。

4

1 回答 1

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))

于 2012-05-19T16:13:30.383 回答