1

我想我会将工作解决方案放在这里,供对代码示例感兴趣的其他人使用。

每个可拖动项目都将其 id 设置为项目 id。这是可拖动项目的源视图:

<div id="item">
    <ul>
         <li class="list_none" id="15">
               Black phone
         </li>
    </ul>
</div>

这是使它“可拖动”的 jQuery 脚本。我已经更新它以反映 dmck 的输入:

$( "#item li" ).each(function(index, value) {
    $this = $(value);
    var drag_id = $this.attr("id");
    $this.draggable({
            appendTo: "body",
            helper: "clone"
    }).data("drag_id", drag_id)
});

将 drag_id 值传递给 droppable 是一个问题,但它现在可以工作了。

$( "#group ul" ).droppable({
    activeClass: "ui-state-default",
    hoverClass: "ui-state-hover",
    accept: ":not(.ui-sortable-helper)",
    drop: function( event, ui ) {
        // alert(ui.draggable.data("drag_id")); // left this alert in for other tinkerers
        $('input[name=user_id]').val(ui.draggable.data("drag_id"));
        $(this).closest('form').submit();
        return false;
        $( "<li></li>" ).text( ui.draggable.text() ).appendTo( this );
   }

谢谢。

4

1 回答 1

4

使用 jQuery each 绑定每个元素:

$( "#item li" ).each(function(index, value) {

    $this = $(value);

    var itemid = $this.attr("id");

    $this.draggable({
            appendTo: "body",
            helper: "clone"
    }).data("itemid", itemid)
});
于 2012-06-22T20:47:56.263 回答