Hola caricatos, está buena tu función pero solo me ordena los pares de uno en uno, comparando el 12 23 45 67 89...Si bien le arreglé lso paréntesis que le fantan al for tampoco me lo hace, lo tengo que ejecutar varias veces para que termine de funcionar...Checkea el código...
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 ordenar() {
with (document.forms["formulario"]["select"]) {
for (var i = 0; i < options.length - 1; i ++){
if (options[i].text <= options[i + 1].text) {
temptext = options[i].text;
tempvalue = options[i].value;
options[i].text = options[i + 1].text;
options[i].value = options[i + 1].value;
options[i + 1].text = temptext;
options[i + 1].value = tempvalue;
}
}
}
}
</script>
</head>
<body>
<form action="" method="post" name="formulario" id="formulario">
<select name="select">
<option value="p">p</option>
<option value="o">o</option>
<option value="i">i</option>
<option value="u">u</option>
<option value="y">y</option>
<option value="t">t</option>
<option value="r">r</option>
<option value="e">e</option>
<option value="w">w</option>
<option value="q">q</option>
<option value="l">l</option>
<option value="k">k</option>
<option value="j">j</option>
<option value="h">h</option>
<option value="g">g</option>
<option value="f">f</option>
<option value="d">d</option>
<option value="s">s</option>
<option value="a">a</option>
<option value="m">m</option>
<option value="n">n</option>
<option value="b">b</option>
<option value="v">v</option>
<option value="c">c</option>
<option value="x">x</option>
<option value="z">z</option>
</select>
<input type="button" name="Button" value="Button" onClick="ordenar()">
</form>
</body>
</html>
Espero que puedas encuentrar la falla...
Saludos