jQuery交换元素内容给出类型F错误

时间:2013-09-27 21:46:23

标签: javascript jquery html css jquery-ui

根据我的其他帖子,我更新了JS Fiddle Code

     $(".drop-container").droppable({
    activeClass: "ui-state-highlight",
    //accept: "#mykeys ul li",
    accept:"#mykeys ul li, .drop-container li",
    //connectWith: ".drop-container",
    drop: function( event, ui ) {
         var cid=ui.draggable.attr("id");
         var from_id=ui.draggable.parent().attr('id');       
         if(typeof from_id != 'undefined'){

            var editor = $('#'+cid);  //put your ids here
            var viewer = $('#'+from_id);

            editorContent = editor.clone();
            viewerContent = viewer.clone();

            editor.replaceWith(viewerContent);
            viewer.replaceWith(editorContent);

         }
         $(this).empty();
         //append the draggable onto this
        $(ui.draggable).appendTo(this);
    },
    out: function( event, ui ) {
        var oid=$(ui.draggable).attr("id");
        console.log('dragged out '+oid);
        var from= $(this).closest(".drop-container").attr("id");
        //console.log('from '+ from);               
    }
   });

我要做的是将内容交换出去 我们在容器之间拖动。对于我的生活我不能 让这工作正常。希望你能帮忙。

当你去小提琴代码时,你会看到你 可以从列表中拖动并放下容器 然后你可以在容器之间拖放

我在这里要做的是,如果有当前的内容 在容器中,你将放入它将交换 它几乎与你正在放弃的内容一起出来 像一个可排序的工作。但我无法弄清楚 如何将可排序的数据附加到我所拥有的结构

1 个答案:

答案 0 :(得分:0)

我有分叉&已将JSFiddle更新为工作版本。

的变化:

  • .drop-container范围
  • 中添加了ID
  • :drop回调:将accept: "#mykeys ul li",更改为accept: "#mykeys ul li, .drop-container li",,因为已删除的元素不再位于#mykeys
  • :drop回调:已添加source_element& existing_element所以我们可以获得来源&定位并交换.tree列表
  • 中的项目