2012-12-27 22 views
3

我的場景是我有一個包含在列表項中的人名列表,我希望能夠將這些名稱拖到框中。我通過jqueryUI得到了這部分工作,但我的問題是,當名稱被拖到框中時,我不希望它被移出原始列表,因爲一個人可以位於多個列表中。jqueryUI - 將項目拖到多個列表中

我假設的問題是,我使用的替代。新增.appendTo,但它顯然不是剛剛切換.appendTo來。新增

$(this).appendTo($list).show("slow");

整個代碼一樣簡單:

$(function() { 
    $("#sortable1, #sortable2, #sortable3").sortable().disableSelection(); 

    var $tabs = $("#tabs").tabs(); 

    var $tab_items = $("ul:first li", $tabs).droppable({ 
     accept: ".connectedSortable li", 
     hoverClass: "ui-state-hover", 
     drop: function(event, ui) { 
      var $item = $(this); 
      var $list = $($item.find("a").attr("href")) 
       .find(".connectedSortable"); 

      ui.draggable.hide("slow", function() { 

       $(this).appendTo($list).show("slow"); 



      }); 
     } 
    }); 
}); 

請參閱下面的提琴工作示例和HTML標記。
http://jsfiddle.net/sXRKd/1/

Gracias!

+0

當你一個人投進另一方面,它必須在兩個地方無濟於事。那就是你想要的,對嗎? –

回答

1

希望,當你將一個人扔進其他人時,它必須在兩個地方都有效。例如,當您將josh mondie放入Close Friends時,它必須在All FriendsClose Friends中都有效。

看看這fiddle,它工作正常。

代碼,

drop: function (event, ui) { 
     var $droppableId = $("a", this).attr("href"); 
     var $newList = $(".connectedSortable", $droppableId); 

     ui.draggable.hide("slow", function() { 
     $newList.append(ui.draggable.clone().show()); 
     }); 
     ui.draggable.show("slow"); 
    } 
相關問題