拖放 - 当列表动态传递时,可排序不起作用

时间:2011-07-25 06:44:11

标签: jquery css jquery-ui-sortable jquery-ui-draggable jquery-ui-droppable

我已经完成了:http://jsfiddle.net/thilakar/QNkEL/2/

我也可以拖动父元素和子元素。但我需要删除孩子和另一个孩子(另一个父子元素)之间的内容。

我的要求:

我需要在子节点之间拖放文本,同时删除另一个父节点的内容。

我的问题:

当列表动态出现时,

无法排序。

请帮帮我..

感谢

1 个答案:

答案 0 :(得分:1)

我稍微更改了你的javascript,我认为我接近你需要的东西:

$(document).ready(function() {
    var treeList = "";
    var listTree = 0;
    var innerTree = 0;

    treeList = "<ul id=\"createTree\" class=\"droptrue\">";
    for (var key in jsonObj) {
        //alert("key: " + key + ", value: " + jsonObj[key])
        for (var skey in jsonObj[key]) {
            treeList += ("<li class=\"listTree\" id=\"asdf\">" + skey + "<ul id=\""+skey+"\">");
            for (var sskey in jsonObj[key][skey]) {
                for (var ssskey in jsonObj[key][skey][sskey]) {
                    treeList += ("<li class=\"innerList\">" + jsonObj[key][skey][sskey][ssskey] + "</li>");
                }
            }
            treeList += "</ul></li>";
        }
    }
    treeList += "</ul>";

    $('#tree').append(treeList);


    $(".listTree ul").sortable({
        revert: true
    });


    $("#Title1 li").draggable({
        helper: "clone",
        cursor: 'hand',
        revert: 'invalid',
        connectToSortable: "#Title2",
    });

        $("#Title2 li").draggable({
        helper: "clone",
        cursor: 'hand',
        revert: 'invalid',
        connectToSortable: "#Title1",
    });
    $( "ul, li" ).disableSelection();

});

在这里摆弄:http://jsfiddle.net/nicolapeluchetti/QNkEL/6/