2010-09-08 8 views
12

Qualcuno sa se Sortable dell'interfaccia di jQuery ha funzionalità incorporate per mantenere l'elemento rilasciato originale nella sua lista originale?jQuery ordinabile - Mantenerlo nella lista originale

Ad esempio, si dispone di due elenchi (una "fonte" e uno "gruppo"). Mi piacerebbe selezionare dalla fonte e rilasciarlo nel gruppo, ma mantenere l'elemento nella fonte.

Ha senso?

Grazie!

risposta

22

È possibile see my solution in action on jsfiddle. Ho semplicemente modificato this jQuery draggable/droppable interaction in base alle proprie esigenze.

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

Sto solo di passaggio .. +1 per un bel po 'di demo e pulito S oluzione. – rlemon

+0

Come questo, c'è qualcosa che mi manca quando si tratta di sbarazzarsi di un oggetto clonato? Immagino che lo spostino nuovamente nella lista da cui è originato, ma sarebbe buono se non mostrasse i duplicati. – daveomcd

+1

@daveomcd hai trovato un modo per rimuovere l'oggetto clonato? – Helpha

Problemi correlati