Использую sortable Вот весь js код
$(function() {
a = [ ];
$("#head").disableSelection();
$('#variants').sortable({connectWith: '.sortContainer'});
var oldList, newList, item;
$( ".sortContainer" ).sortable({
start: function(event, ui) {
item = ui.item;
newList = oldList = ui.item.parent().parent();
},
change: function(event, ui) {
if(ui.sender) newList = ui.placeholder.parent().parent();
},
connectWith: '#variants,.sortContainer',
receive: function(event, ui) {
a.push(ui.item.attr("id"));
alert(a+newList.attr('id'));
},
remove: function(event, ui) {
a.splice(a.indexOf('bar'), 1);
alert(a);
}
});
$("#appendb").click(function() {
random = Math.floor( Math.random() * 90 ) + 10;
$('#variants').append("<div id='ans_"+random+"' class='variantions ui-state-error'>"+$( "#newans" ).val()+"</div>");
});
$("#appenq").click(function() {
random = Math.floor( Math.random() * 90 ) + 10;
$('.answers').append('<div class="answer" id="B'+random+'"> <div id="current" class="title">'+$("#newans").val()+'</div> <div class="sortContainer" id="'+random+'"></div>');
$( ".sortContainer" ).sortable({
start: function(event, ui) {
item = ui.item;
newList = oldList = ui.item.parent().parent();
},
stop: function(event, ui) {
alert("Moved " + item.text() + " from " + oldList.attr('id') + " to " + newList.attr('id'));
},
change: function(event, ui) {
if(ui.sender) newList = ui.placeholder.parent().parent();
},
connectWith: '#variants,.sortContainer',
receive: function(event, ui) {
},
remove: function(event, ui) {
a.splice(a.indexOf('bar'), 1);
}
});
});
});
Как мне получить данные в виде id блока (как индекс) в который перемещаем значения (как значения) Чтобы получить массив типа такого:
arr = [{ idблока: 'idзначения' }, { idблока: 'idзначения' }];
И чтобы соответственно при добавлении значения в блок в массив добавлялось это значение с ключом (id) блока в который перемещено значение, а при удалении значения из блока - соответственно удалялось.
Рабочий пример здесь:
https://jsfiddle.net/morrowinds/kb18ncgm/29/