2010-09-08 19 views
12

jQuery UI's Sortable'ın orijinal ürününde orijinal bırakılan öğeyi tutmak için yerleşik işlevlere sahip olup olmadığını bilen var mı? Örneğin, iki listeniz (bir 'kaynak' ve bir 'grup') var. Kaynaktan seçim yapmak ve gruba bırakmak, ancak öğeyi kaynağında tutmak istiyorum.jQuery Sortable - Orijinal listemizde tutun

Mantıklı?

Teşekkür ederiz!

cevap

22

see my solution in action on jsfiddle. İhtiyaçlarınıza uygun olarak this jQuery draggable/droppable interaction'u değiştirdim.

HTML

<div class="demo"> 
    <h2>List 1</h2> 
    <ul> 
     <li class="draggable ui-state-highlight">Drag me down</li> 
     <li class="draggable ui-state-highlight">Drag me down</li> 
    </ul> 
    <h2>List 2</h2> 
    <ul id="sortable"> 
     <li class="ui-state-default">Item 1</li> 
     <li class="ui-state-default">Item 2</li> 
     <li class="ui-state-default">Item 3</li> 
     <li class="ui-state-default">Item 4</li> 
     <li class="ui-state-default">Item 5</li> 
    </ul> 
</div> 

jQuery

$(function() { 
    $("#sortable").sortable({ 
     revert: true 
    }); 
    $(".draggable").draggable({ 
     connectToSortable: "#sortable", 
     helper: "clone", 
     revert: "invalid" 
    }); 
    $("ul, li").disableSelection(); 
}); 

CSS

.demo ul { list-style-type: none; margin: 0; padding: 0; margin-bottom: 20px; } 
.demo li { margin: 5px; padding: 5px; width: 150px; border: 1px solid black; } 
+0

Ben sadece güzel bir demo ve temiz için .. 1 geçiyordum s eriyiği. – rlemon

+0

Böyle bir şey, klonlanmış bir maddeden kurtulmak söz konusu olsa da eksik bir şey var mı? Ben sadece onu geri gelen listeye taşıdıklarını düşünürdüm ama çiftleri göstermediyse iyi olurdu. – daveomcd

+1

@daveomcd Klonlanan öğeyi kaldırmanın bir yolunu buldunuz mu? – Helpha

İlgili konular