2015-02-04 62 views
0

我想在元素列表中創建一個拖放n拖放系統。 這裏是我期待的圖片: enter image description heremultiple drag n drop html jquery

我會採取紅色方塊1,把它放在第一個方形的黑色。如果我將紅色方塊2放到黑色方塊1中,它將移除紅色方塊1(它回到紅色方塊列表中),並將紅色方塊2取代。

在這裏,我正在嘗試,但它沒有完成這項工作!

HTML:

       <ul class="list-inline"> 
            <li><div id="drag1" draggable="true" ondragstart="drag(event)"> ceci est un test 1</div></li> 
            <li><div id="drag1" draggable="true" ondragstart="drag(event)"> ceci est un test 2</div></li> 
            <li><div id="drag1" draggable="true" ondragstart="drag(event)"> ceci est un test 3</div></li> 
           </ul> 

的jQuery:

function allowDrop(ev) { 
    ev.preventDefault(); 
} 

function drag(ev) { 
    ev.dataTransfer.setData("text", ev.target.id); 
} 

function drop(ev) { 
    ev.preventDefault(); 
    var data = ev.dataTransfer.getData("text"); 
    ev.target.appendChild(document.getElementById(data)); 
} 

非常感謝您的幫助!

+0

任何代碼片段? – MaxZoom

+0

一個選項是調用[droppable](http://jqueryui.com/droppable/)插件的功能,可能還有可拖動的。這使我的工作變得更加輕鬆。 :) – Ken

回答

0

更改ID的應用程序如無法理解哪一個塊你嘗試拖動

<ul class="list-inline"> 
            <li><div id="drag1" draggable="true" ondragstart="drag(event)"> ceci est un test 1</div></li> 
            <li><div id="drag2" draggable="true" ondragstart="drag(event)"> ceci est un test 2</div></li> 
            <li><div id="drag3" draggable="true" ondragstart="drag(event)"> ceci est un test 3</div></li> 
           </ul> 
+0

好吧,它解決了我的問題的一部分。但如果我在一個盒子中拖動兩個,他們仍然保持在兩個。當我拖動第二個時,我怎樣才能刪除那個? – carndacier

+0

on drag將第二個容器設置爲初始級別,然後放下您正在丟棄的唯一單一實例 –

+0

您可以放置​​完整代碼嗎?我的意思是jsfiddle,以便我可以幫助您 –