Foros del Web » Programando para Internet » Javascript »

Como ordenar <OPTION> de <SELECT> por el valor

Estas en el tema de Como ordenar <OPTION> de <SELECT> por el valor en el foro de Javascript en Foros del Web. Hola todo el mundo .... mi consulta es la siguiente tengo un <Select> y tengo un numeor X de <OPTION> ahora mi consulta hay alguna ...
  #1 (permalink)  
Antiguo 13/11/2006, 12:12
 
Fecha de Ingreso: marzo-2003
Mensajes: 524
Antigüedad: 21 años, 1 mes
Puntos: 2
Como ordenar <OPTION> de <SELECT> por el valor

Hola todo el mundo .... mi consulta es la siguiente tengo un <Select> y tengo un numeor X de <OPTION> ahora mi consulta hay alguna forma de ordenar los OPTION por VALUE.

Saluda Atte Ud
Escorpion_Negro
  #2 (permalink)  
Antiguo 13/11/2006, 14:50
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
No sé si será la mejor manera, pero funciona:
Código:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>ejemplo</title>
<script>

function ordenar(){
vec=document.getElementById('pepe').options;
tmp=new Array();
for(i=0;i<vec.length;i++){
tmp.push(vec[i].value+'separator'+vec[i].text);
}
tmp2=tmp.sort();
document.getElementById('pepe').length=0;
for(i=0;i<tmp2.length;i++){
aux=tmp2[i].split('separator');
document.getElementById('pepe').options[i]=new Option(aux[1],aux[0]);
}
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <select name="pepe" id="pepe">
    <option value="5">cinco</option>
    <option value="4">cuatro</option>
    <option value="3">tres</option>
    <option value="2">dos</option>
    <option value="1">uno</option>
  </select>
  <input type="button" name="Submit" value="ordenar"  onclick="ordenar()"/>
</form>
</body>
</html>
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:01.