2010-09-08 5 views
12

Weiß jemand, wenn jQuery UI Sortable eingebaute Funktionalität hat, um das ursprüngliche gefallene Einzelteil in seiner ursprünglichen Liste zu behalten?jQuery Sortierbar - Behalten Sie es in der ursprünglichen Liste

Zum Beispiel haben Sie zwei Listen (eine 'Quelle' und eine 'Gruppe'). Ich möchte aus der Quelle auswählen und in die Gruppe fallen lassen, aber das Element in der Quelle behalten.

Sinn machen?

Vielen Dank!

Antwort

22

Sie können see my solution in action on jsfiddle. Ich habe einfach this jQuery draggable/droppable interaction an Ihre Bedürfnisse angepasst.

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

Ich bin nur auf der Durch .. +1 für eine nette kleine Demo und sauber s Lösung. – rlemon

+0

Wie viel, gibt es etwas, das ich vermisse, wenn es darum geht, einen geklonten Gegenstand loszuwerden? Ich könnte mir vorstellen, dass sie es einfach in die Liste zurückversetzen, aus der es stammt, aber es wäre gut, wenn es keine Duplikate anzeigen würde. – daveomcd

+1

@daveomcd Haben Sie einen Weg gefunden, das geklonte Objekt zu entfernen? – Helpha

Verwandte Themen