Foros del Web » Programando para Internet » Javascript »

Problema con sort y los IE

Estas en el tema de Problema con sort y los IE en el foro de Javascript en Foros del Web. Hola a todos, tengo un problema a la hora de ordenar una lista de contactos (serie de DIVs) por orden alfabético y por estado del ...
  #1 (permalink)  
Antiguo 25/03/2011, 05:10
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 11 años, 6 meses
Puntos: 0
Problema con sort y los IE

Hola a todos,

tengo un problema a la hora de ordenar una lista de contactos (serie de DIVs) por orden alfabético y por estado del contacto (onlin y offline). El problema es que antes con este código que me encontré al llegar a la empresa no funcionaba ni con IE9 ni Firefox 4:

Código:
function sortByStatus()
{

  var divs = getElementsByClassName(document,"status_sort");
  divs.sort(compare);

  for (var i = 0; i < divs.length; i++)
  {
    $("#contact_info").append(divs[i]);
  }
}

function compare(div1, div2)
{
  var id1 = div1.getAttribute("id");
  var id2 = div2.getAttribute("id");
  if (id1 > id2)
    return 1;
  else if (id1 < id2)
    return -1;
  else
    return 0;
}
Ahora con unas modificaciones, me funciona en IE9, aunque NO ordena alfabéticamente pero si por estado:

Código:
function compare(div1, div2)
{
  var id1 = div1.id;
  var id2 = div2.id;

  if (id1 > id2)
	return 1;
  else if (id1 < id2)
	return -1;
  else
	return 0;
}

function sortByStatus()
{

  var divs = document.getElementsByClassName("status_sort");
  var divArray = [];
  for(var i=0, len = divs.length; i < len; i++)
  {
      divArray.push(divs[i]);
  }
  divArray.sort(compare );

  for (i = 0; i < divs.length; i++)
  {
      $("#contact_info").append(divArray[i]);
  }
}
Y la verdad es que no se que puede pasar. Comentar que el id del DIV funciona así: numero+nombre?contacto (ejemplo: 2Pedro, siendo 2=offline y 1=online). Alguna idea qué puede ser?

Gracias de antemano.
  #2 (permalink)  
Antiguo 25/03/2011, 19:01
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 9 años, 6 meses
Puntos: 310
Respuesta: Problema con sort y los IE

En teoría los ids no pueden empezar por un número, supongo que será eso.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 28/03/2011, 02:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Problema con sort y los IE

Gracias, no era eso pero también lo corregí. Al final ya solucioné todo haciendo un pequeño remix de cositas.

Etiquetas: sort
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 08:05.