2015-06-10 102 views
0

我正在使用此腳本進行拖放操作。它使塊的克隆掉塊。在塊1中有多個選擇列表。當1將多選列表拖放到2時,它不起作用。拖放後select2無法正常工作

$('#sa_drag_block li').draggable({ 
      helper: "clone", 
     }); 
     $('#sa_drop_block').droppable({ 
      drop: function (e, ui) { 
       $(ui.draggable).clone().appendTo($(this)); 
      } 
     }); 

這裏是JSFiddle Link

回答

1

有幾件事情對工作你在這裏,但我可以使它工作

  1. 你被複制,從一個JavaScript插件輸出,並且他們通常沒有被設計隨意被克隆。
  2. 在追加元素後,您從不初始化元素上的Select2。

所以,你可以通過下面的一個週期時無論是最初拖動或刪除元素

  1. 使用他們的destroy方法,select2('destroy')在這種情況下摧毀插件修爲幾乎所有的JavaScript插件,這兩個問題。
  2. 將元素克隆到放置位置。
  3. 重新初始化舊的上的插件新元素。

你可以找到工作,評價的jsfiddle這裏:http://fiddle.jshell.net/uffhvenk/6/

0

克隆默認情況下不復制事件處理程序和數據。嘗試clone(true)

+0

我嘗試這一點,但沒有奏效。 –