Foros del Web » Programando para Internet » Javascript »

drag and drop entre dos columnas

Estas en el tema de drag and drop entre dos columnas en el foro de Javascript en Foros del Web. Hola buenas noches... Estoy haciendo unas pruebas con ajax, soy novato, y me gustaría hacer un drag and drop entre dos columnas.. Algo tipo a ...
  #1 (permalink)  
Antiguo 27/04/2016, 16:22
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 17 años
Puntos: 0
drag and drop entre dos columnas

Hola buenas noches...

Estoy haciendo unas pruebas con ajax, soy novato, y me gustaría hacer un drag and drop entre dos columnas.. Algo tipo a esto: http://jsfiddle.net/T68Fn/

Buscando por la web, he encontrado varios ejemplos y he hecho este:

<div class="text">
<div class="listBlock">
<ul id="sortable1" class="droptrue">
<li id="1">1</li>
<li id="2">2</li>
<li id="3">3</li>
<li id="4">4</li>
<li id="5">5</li>
<li id="6">6</li>
<li id="7">7</li>
</ul>
</div>
<div class="icon_arrows">
<img src="images/icon_arrows.png" width="30" height="30" />
</div>
<div class="listBlock">
<ul id="sortable2" class="droptrue">
<li id="8">8</li>
<li id="9">9</li>
</ul>
</div>
</div>

$(function()
{
$('.droptrue').on('click','li', function()
{
$(this).toggleClass('selected');
});

$("ul.droptrue").sortable(
{
connectWith: 'ul.droptrue',
opacity: 0.6,
revert: true,
helper: function (e, item)
{
console.log('parent-helper');
console.log(item);
if(!item.hasClass('selected'))
item.addClass('selected');
var elements = $('.selected').not('.ui-sortable-placeholder').clone();
var helper = $('<ul/>');
item.siblings('.selected').addClass('hidden');
return helper.append(elements);
},
start: function(e, ui)
{
var elements = ui.item.siblings('.selected.hidden').not('.ui-sortable-placeholder');
ui.item.data('items', elements);
},
receive: function(e, ui)
{
ui.item.before(ui.item.data('items'));
},
stop: function(e, ui)
{
ui.item.siblings('.selectd').removeClass('hidden') ;
$('.selected').removeClass('selected');
},
update: updatePostOrder
});

$("#sortable1, #sortable2").disableSelection();
$("#sortable1, #sortable2").css('minHeight', $("#sortable1").height() + "px");
updatePostOrder();
});

function updatePostOrder()
{
var arr = [];
$("sortable2 li").each(function()
{
arr.push($(this).attr('id'));
});
$('#postOrder').val(arr.join(','));
}

Y me funciona muy bien la verdad, justo como quiero, ahora viene cuando la matan..

Necesito poder, en un momento dado, saber, recuperar, lo que haya en sortable2, para insertarlo en una DB, y también necesito poder introducir en sortable2 los datos de una DB, es decri, me hace falta leer y escribir en sortable2, para saber o meter, en cualquier momento cualquiera de las opciones que tengo en sortable1... no se si me habré explicado...

Por donde tengo que tirar? Que tengo que mirar?

Muchas gracias por todo..
  #2 (permalink)  
Antiguo 29/04/2016, 11:24
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: drag and drop entre dos columnas

Asocia datos a cada uno de los nodos li.
Iterando sobre los hijos de cada ul, puedes leer esos datos, o escribirlos.
Mira en jQuery el método "data()"

Etiquetas: ajax, columnas, drag, drop, funcion, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:41.