Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery从其他列表项上的嵌套列表中拖动列表项_Jquery_Jquery Ui_Drag And Drop - Fatal编程技术网

Jquery从其他列表项上的嵌套列表中拖动列表项

Jquery从其他列表项上的嵌套列表中拖动列表项,jquery,jquery-ui,drag-and-drop,Jquery,Jquery Ui,Drag And Drop,我的结构如下: <ul id="trylist"> <li id="1"> <div></div> <div></div> </li> <li> <ul> <li id="sub1"> <div></div>

我的结构如下:

<ul id="trylist">
    <li id="1">
        <div></div>
        <div></div>
    </li>
    <li>
        <ul>
            <li id="sub1">
                <div></div>
                <div></div>
                <ul>
                    <li id="subsub1">...</li>
                </ul>
            </li>
            <li id="sub2">
                <div></div>
                <div></div>
                <ul>
                    <li id="subsub2">...</li>
                </ul>
            </li>
        </ul>
    </li>
 </ul>
我必须将我正在拖动的列表项放到它上面的任何列表项上,无论如何,如果我在列表项上单击,我会得到该项以及其中的所有嵌套项。如何从列表中只拖出一个项目,包括它的html代码和id/类


很抱歉我的英语不好,我可能在这段代码中犯了一些错误,因为我是现场编写的。

我不确定我是否理解你的意思,但在对嵌套列表进行拖放排序时,我总是使用Manuele J Sarfatti的jQueryUI扩展。它扩展了标准的jQueryUI.sortable()函数,并允许您通过向左或向右拖动来对列表项的父项进行排序

您可以在这里尝试:

这可能是一个很好的扩展,可以满足我的需要,但是,我可以获得我正在拖动的项目的id和我将其放置的项目的id吗?我只需要这两个值,而不需要整个树..当然,您可以在拖动时获得有关任何事件的所有信息,例如在启动拖动操作时:
$(“ul”).nestedSortable({start:function(event,ui){console.log(ui.item);/谢谢:)我来看看!
$('body').delegate('div#menuButtonMoveFolder','click',function(event)
{
    $('ul#trylist li').draggable({
        revert: true, 
        // helper: "clone" How should i set it?
        start: function() {
            //
        },
        drag: function() {
            //
        },
        stop: function() {
            //
        }
    });
});