Foros del Web » Programando para Internet » Javascript »

Javascript problema al mover elementos y luego obtener su orden

Estas en el tema de Javascript problema al mover elementos y luego obtener su orden en el foro de Javascript en Foros del Web. Buen día, les comento mi problema, tengo un JavaScript que hace que una lista <ul> sea sorteable (mover verticalmente los <li> ), a la hora ...
  #1 (permalink)  
Antiguo 19/05/2011, 15:41
 
Fecha de Ingreso: febrero-2009
Mensajes: 20
Antigüedad: 15 años, 2 meses
Puntos: 0
Javascript problema al mover elementos y luego obtener su orden

Buen día, les comento mi problema, tengo un JavaScript que hace que una lista <ul> sea sorteable (mover verticalmente los <li>), a la hora de guardar a la base de datos recorro todos los <li> del <ul>, creo una cadena JSON y llega a php, guarda y todo perfecto, el problema es que cuando muevo los elementos de la lista no guardan el orden que tienen actualmente, ejemplo

Lista inicial
Código HTML:
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul> 
lista después de mover sus elementos
Código HTML:
<ul>
  <li>3</li>
  <li>1</li>
  <li>2</li>
</ul> 
Cuando creo la cadena JSON después de mover sus elementos debería devolverme 3,1,2, pero no lo hace y me da un orden diferente

¿Cómo puedo arreglar esto? ¿Existe alguna forma de resetear el DOM para que el <ul> tenga en cuenta que su primer <li> ahora es 3 y no 1?

Gracias
  #2 (permalink)  
Antiguo 19/05/2011, 15:48
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Javascript problema al mover elementos y luego obtener su orden

Pero, ¿como has hecho el sortable? Con algun plugin de javascript o con javascript puro.
  #3 (permalink)  
Antiguo 19/05/2011, 21:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 20
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Javascript problema al mover elementos y luego obtener su orden

Cita:
Pero, ¿como has hecho el sortable? Con algun plugin de javascript o con javascript puro.
Con el jquery, pues el DOM es el DOM no? simplemente cambia de orden los nodos...

¿Que solución se les ocurre?
  #4 (permalink)  
Antiguo 23/05/2011, 08:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 20
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Javascript problema al mover elementos y luego obtener su orden

¿alguien sabe como se puede solventar esto?
  #5 (permalink)  
Antiguo 23/05/2011, 09:17
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Javascript problema al mover elementos y luego obtener su orden

Aporta algún dato más, como el código HTML y Javascript, para ver porque te falla.
  #6 (permalink)  
Antiguo 23/05/2011, 10:11
 
Fecha de Ingreso: febrero-2009
Mensajes: 20
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Javascript problema al mover elementos y luego obtener su orden

Bueno, lo he logrado, les dejo la solución


Código HTML:
		var listaOrden;
Declaramos la variable global listaOrden

Código HTML:
		function ordenActual(){
			listaOrden = new Array();
			var contenedor = $('ul');
			var primero = contenedor.firstElementChild;
			listaOrden.push(primero);
			getNext(primero);
		}
Luego la función ordenActual, limpia la variable listaOrden, obtiene la referencia del ul, saca el primer elemento, lo agrega a listaOrden y llama a la función getNext


Código HTML:
		function getNext(element){
			if(element.nextElementSibling){
				listaOrden.push(element.nextElementSibling);
				getNext(element.nextElementSibling);
			}
		}
La función recursiva getNext busca el elemento siguiente, si existe lo agrega a la variable global listaOrden

Con eso se puede obtener el orden del DOM actual, no sé si sea la forma correcta pero es funcional, espero que les sirva

Saludos.
  #7 (permalink)  
Antiguo 23/05/2011, 10:22
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Javascript problema al mover elementos y luego obtener su orden

Si usas jquery, por que no lo usas para esto también.

Si estás usando el plugin de JQuery UI Sortable, este tiene un método que te devuelve el orden de la lista.
  #8 (permalink)  
Antiguo 23/05/2011, 10:31
 
Fecha de Ingreso: febrero-2009
Mensajes: 20
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Javascript problema al mover elementos y luego obtener su orden

Sí, pero veo que di mucha vuelta, el orden realmente se mantiene sin tener que usar el código que coloque anteriormente, creo que el error esta en otro proceso que me desordena el array... changos : D

Etiquetas: dom
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 12:26.