Javascript JQuery可排序和可拖动的行为

Javascript JQuery可排序和可拖动的行为,javascript,jquery,draggable,jquery-ui-sortable,nested-sortable,Javascript,Jquery,Draggable,Jquery Ui Sortable,Nested Sortable,我有两个可拖动对象“field”和“container”,还有一个可排序对象“ui main”。我想做的是将上面的2个对象拖动到“UImain”中,并允许将对象添加到“container”中,从而创建一个嵌套的可排序表单 以下是演示: 到目前为止,javascript: $('.ui-select .ui-select-item').draggable({ revert : "invalid", helper: 'clone', connectToSortable : '

我有两个可拖动对象“field”和“container”,还有一个可排序对象“ui main”。我想做的是将上面的2个对象拖动到“UImain”中,并允许将对象添加到“container”中,从而创建一个嵌套的可排序表单

以下是演示:

到目前为止,javascript:

$('.ui-select .ui-select-item').draggable({
    revert : "invalid",
    helper: 'clone',
    connectToSortable : '.ui-sortable'
});

$( ".ui-sortable" ).sortable({
    connectWith: '.ui-sortable',
    placeholder: 'ui-hovering'
});

问题是我只能将新对象添加或移动到
ui-main
和2个已存在的
ui-container
对象中,但无法使用新创建的
ui-container
执行此操作。是什么使现有的和新创建的不同?如何修复

对我来说,你的jsfiddle中的所有东西都按预期工作。但是,您使用克隆帮助器,它不能完全控制克隆时发生的事情。jQuery的clone()函数需要两个参数

.clone( [withDataAndEvents ] [, deepWithDataAndEvents ] )

因此,要在每个元素上拥有相同的事件,您可以自己克隆它们,将两个参数都设置为true,或者将事件再次绑定/解除绑定到每个新添加的对象。

+1。我试图为helper调用一个函数,该函数设置了新克隆元素的可排序性,并且工作正常。