Hola otra vez:
Tal como te comenté en privado, creo que hay para los arrays un método sort, pero no lo pude hacer funcionar con el select, así que hice unas funciones para ordenar, que en netscape y explorer han funcionado (acabo de probarlas en opera y también funcionan)
Este es el ejemplo:
Código PHP:
<html>
<head>
<title>
ordenar select
</title>
<script language="javascript">
function ordenarTexto(datos) {
var elemento = new Option;;
for (var i = 0; i < datos.options.length - 1; i ++)
for (var j = i + 1; j < datos.length; j ++)
if (datos.options[i].text > datos.options[j].text) {
elemento.text = datos.options[i].text;
elemento.value = datos.options[i].value;
datos.options[i].text = datos.options[j].text;
datos.options[i].value = datos.options[j].value;
datos.options[j].text = elemento.text;
datos.options[j].value = elemento.value;
}
}
function ordenarValue(datos) {
var elemento = new Option;;
for (var i = 0; i < datos.options.length - 1; i ++)
for (var j = i + 1; j < datos.length; j ++)
if (datos.options[i].value > datos.options[j].value) {
elemento.text = datos.options[i].text;
elemento.value = datos.options[i].value;
datos.options[i].text = datos.options[j].text;
datos.options[i].value = datos.options[j].value;
datos.options[j].text = elemento.text;
datos.options[j].value = elemento.value;
}
}
</script>
</head>
<body>
<form name=orden>
<select name=elementos>
<option value="c">2º opción</option>
<option value="b">3º opción</option>
<option value="a">1º opción</option>
</select>
<input type=button onclick="ordenarTexto(elementos)" value="ordenar por texto">
<input type=button onclick="ordenarValue(elementos)" value="ordenar por valor">
</form>
</body>
</html>
No sé si es la mejor forma de ordenar "selects", pero funciona...
Si alguien sabe una forma mejor, estaría bien que la dijera.
Saludos