| |||
Ordenar listas en JavaScript Tengo una lista (tipo combo pero no desplegable) a la que añado elementos. Como los inserta al final del mismo quiero ordenarlos alfabéticamente, bien a partir del "value" o bien a partir del "text". ¿Cómo se puede?¿Algún ejemplo? |
| ||||
Re: Ordenar listas en JavaScript Christian!!! Hay que cambiar eso de [ i ], jode cuando usás arrays!!!!! Aquí va de nuevo: <HTML> <HEAD> <TITLE>Select</TITLE> </HEAD> <SCRIPT> //Valores var elementos = new Array(); function ordenar() { //Leer for (i = 0; i < cboSort.options.length; i++) { elementos[ i ] = cboSort.options(i).value + " " + cboSort.options(i).text; } //Vaciar while (cboSort.options.length > 0) cboSort.remove(0); //Ordenar ordenados = elementos.sort(); //Llenar FillSortDropDownWithFields(cboSort, ordenados); } // Llenar el dropdown con los valores del array function FillSortDropDownWithFields(oDropDown, elementos) { // Solo llenar si está vacío if (oDropDown.options.length > 0) return; // Agregar cada una de las columnas for (i = 0; i < elementos.length; i++) { datos = elementos[ i ].split(" "); AddItemToDropDown(oDropDown, datos[0], datos[1]); } cboSort.selectedIndex = 0; } // Agregar a la lista el par value/text especificado function AddItemToDropDown(oDropDown, cValue, cText) { oOption = document.createElement('OPTION'); oOption.value = cValue; oOption.text = cText; oDropDown.add(oOption); } </SCRIPT> <BODY> <Button onClick=ordenar()>Ordenar</BUTTON><BR> <SELECT ID=cboSort> <OPTION value=P>Perro <OPTION value=G>Gato <OPTION value=T>Tigre <OPTION value=C>Caballo </SELECT> </BODY> </HTML> |