Foros del Web » Programando para Internet » Javascript »

Ordenar un Select alfabéticamente por el text: Solución

Estas en el tema de Ordenar un Select alfabéticamente por el text: Solución en el foro de Javascript en Foros del Web. Hola, hace unos días realicé un post sobre como ordenar alfabéticamente un select y luego de algunas ayudas y pelear un poco lo logré !!! ...
  #1 (permalink)  
Antiguo 11/08/2005, 11:14
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 7 meses
Puntos: 90
Ordenar un Select alfabéticamente por el text: Solución

Hola, hace unos días realicé un post sobre como ordenar alfabéticamente un select y luego de algunas ayudas y pelear un poco lo logré !!!

Acá va el código para el que lo necesite !!!

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
function ordena2()	{
	var regs = [];
	with (document.forms["formulario"]["registros"])	{
		for (var i = 0; i < options.length; i ++){
		   regs[i] = options[i].text + '|||' + options[i].value;
		}	
		options.length = 0;
		regs.sort();
		for (var i = 0; i < regs.length; i ++){
			var cols = [];
			cols = regs[i].split('|||');
			options[i] = new Option(cols[0],cols[1]);
		}		   
	}
}
</script>
</head>

<body>
<form action="" method="post" name="formulario" id="formulario">
  <p> 
    <select name="registros">
      <option value="1">Quintana</option>
      <option value="2">Hernandez</option>
    </select>
    <input type="button" name="Button2" value="Button" onClick="ordena2()">
  </p>
  </form>
</body>
</html>
Espero que les sirva
Saludos
__________________
Esteban Quintana
  #2 (permalink)  
Antiguo 11/08/2005, 16:44
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 10 meses
Puntos: 45
Sí, me acuerdo que publique un codigo no hace mucho sobre ese tema:

Código PHP:
<select id="elSelect" size="6" onclick="alert(this.options[this.selectedIndex].value)"
    <
option value="1">c</option
    <
option value="2">d</option
    <
option value="3">b</option
    <
option value="4">a</option
    <
option value="5">g</option
    <
option value="6">f</option
    <
option value="7">e</option
</
select

<
script


items=document.getElementById("elSelect").options;        // los originales 
opciones=new Array();                                    // sera un doble array: con el texto, y con el valor 
//ordenaremos 'opciones', despues sobrescribiremos todas las opciones originales con 'opciones' que ya estaran ordenadas 
//rellenamos 'opciones' 
for(a=0;a<items.length;a++) 
    
opciones[a]=new Array( items[a].textitems[a].value); 
opciones.sort();    // ordenamos 'opcines'. Se ordenara alfabeticamente opciones[0], y los cambios seran efectivos tambien para opciones[1] 
for(a=0;a<items.length;a++) {        //sobrescribimos las opciones originales a las ordenadas 
    
items[a].text=opciones[a][0]; 
    
items[a].value=opciones[a][1]; 



</script> 
Está en http://www.forosdelweb.com/f13/ordenar-select-alfabeticamente-318470/. Es otra solución válida
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 13:20.