我想我会将工作解决方案放在这里,供对代码示例感兴趣的其他人使用。
每个可拖动项目都将其 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 );
}
谢谢。