Jquery sortable list connected with multiple lists independently
by jmjpro
HTML
<ul id="tile-bank">
<li>source1</li>
<li>source2</li>
<li>source3</li>
</ul>
<ul id="dest1" class="tray">
<li>dest1.1</li>
<li>dest1.2</li>
<li>dest1.3</li>
</ul>
<ul id="dest2" class="tray">
<li>dest2.1</li>
<li>dest2.2</li>
<li>dest2.3</li>
</ul>
<button class="pause-play-tray">Pause</button>
CSS
ul { list-style-type: none; margin: 0; padding: 0 0 2.5em; float: left; margin-right: 10px; }
li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }
JavaScript
$( '#tile-bank, .tray' ).sortable({
connectWith: '#tile-bank, .tray',
cursor: 'move',
revert: true,
receive: function(event, ui) {
if( ui.sender.hasClass('tray') && ui.sender.context != event.target ) {
$(ui.sender).sortable('cancel');
}
},
change: function(event, ui) {
if( ui.item[0].parentNode.id == 'tile-bank' && event.target.id == 'tile-bank') {
//$(this).sortable('cancel');
}
}
}).disableSelection();
$( 'button.pause-play-tray' ).click( function togglePausePlay() {
$('#dest1').sortable('disable');
} );