Есть HTML код вида:
<tbody class="playlist">
<tr>
<td class="droppable"><div class="draggable">Text</div></td>
<td>Button</td>
</tr>
<tr>
<td class="droppable"><div class="draggable">Text2</div></td>
<td>Button2</td>
</tr>
Есть Jquery UI код для свапа(меняет местами два элемента) элементов. Свапает только первый td с текстом, второй td - кнопки остаются на своих местах.
<script type="text/javascript">
$(document).ready(function () {
var dragLastPlace;
var movedLastPlace;
$('.draggable').draggable({
placeholder: 'placeholder',
cursor:'move',
zIndex: 1000,
containment: 'tbody.playlist',
helper: function(evt) {
var that = $(this).clone().get(0);
$(this).hide();
return that;
},
start: function(evt, ui) {
dragLastPlace = $(this).parent();
console.log($("tbody").index($('tr#2')));
},
cursorAt: {
top: 20,
left: 20
}
});
$('.droppable').droppable({
hoverClass: 'placeholder',
cursor:'move',
drop: function(evt, ui) {
var draggable = ui.draggable;
var droppable = this;
if ($(droppable).children('.draggable:visible:not(.ui-draggable-dragging)').length > 0) {
$(droppable).children('.draggable:visible:not(.ui-draggable-dragging)').detach().prependTo(dragLastPlace);
}
$(draggable).detach().css({
top: 0,
left: 0
}).prependTo($(droppable)).show();
movedLastPlace = undefined;
},
over: function(evt, ui) {
var draggable = ui.draggable;
var droppable = this;
if (movedLastPlace) {
$(dragLastPlace).children().not(draggable).detach().prependTo(movedLastPlace);
}
if ($(droppable).children('.draggable:visible:not(.ui-draggable-dragging)').length > 0) {
$(droppable).children('.draggable:visible').detach().prependTo(dragLastPlace);
movedLastPlace = $(droppable);
}
}
});
});
</script>
Нужно получить например 1 элемент свапнулся с 3 элементом в последствии это будет через аякс отправляться на бэк.
Как получить вот эти элементы что на что свапнулось?