Estaba intentando crear una función que ordenase los elementos de un select, y que fuera un método para cualquier select que pueda usarse incluso "inline"...
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
Como lo he conseguido para netscape (aunque advierto que puede mejorarse) voy a poner el código:
Código PHP:
// poner dentro de un tag script
if (!document.all)
HTMLOptionCollection.prototype.ordene = function(por) {
var elemento = new Option;
if (por.toLowerCase() == "value") {
for (var i = 0; i < this.length - 1; i ++)
for (var j = i + 1; j < this.length; j ++)
if (this[i].value > this[j].value) {
elemento.text = this[i].text;
elemento.value = this[i].value;
this[i].text = this[j].text;
this[i].value = this[j].value;
this[j].text = elemento.text;
this[j].value = elemento.value;
}
}
else {
for (var i = 0; i < this.length - 1; i ++)
for (var j = i + 1; j < this.length; j ++)
if (this[i].text > this[j].text) {
elemento.text = this[i].text;
elemento.value = this[i].value;
this[i].text = this[j].text;
this[i].value = this[j].value;
this[j].text = elemento.text;
this[j].value = elemento.value;
}
}
}
Código PHP:
<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>
<option value="d">0º opción</option>
<option value="?">4º opción</option>
</select>
<input type=button onclick="elementos.options.ordene('Value')" value="ordenar">
</form>
Bueno, ahora resumo, ya que creo que me lié un poco al formular la pregunta...
En netscape está la colección: HTMLOptionCollection ...
¿Hay algo parecido que funcione en explorer (eso de los prototipos...
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
Saludos
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)