Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/02/2007, 17:19
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Re: ordernar los elementos de un select

La pena es que eso no te ordenaría los values si los hubiere, esto sí:
Código PHP:
<select id="id_select" name="vendedor" onchange="alert(this.options[this.options.selectedIndex].value);" >
    <
option value="luis">luis</option>  
    <
option value="carlos">carlos</option>     
    <
option value="paco">paco</option>
    <
option value="jorge">jorge</option>         
    <
option value="kira">kira</option>         
    <
option value="azlan">azlan</option>         
</
select

<
script>

function 
ordenar_select(id) {
    var 
elSelect=document.getElementById(id);
    
//copiamos los text y los value a un array auxiliar
    
for(var i=0aux=new Array(); i<elSelect.options.lengthi++) {
        
aux[i]=new Object();
        
aux[i].texto=elSelect.options[i].text;
        
aux[i].valor=elSelect.options[i].value;
    }
    
//ordenamos el array aux segun la propiedad text
    
aux.sort( function(a,b) {
        if( 
a.texto<b.texto ) return -1;
        else if( 
a.texto>b.texto ) return 1;
        else return 
0;
    } );
    
//ahora ponemos el array aux como si fueran las options del select
    
for(i=0;i<aux.length;i++){
        
elSelect.options[i].text aux[i].texto;
        
elSelect.options[i].value aux[i].valor;
    }
}

ordenar_select("id_select"); 
Y además, si tenemos más atributos pues supongo que habría que almacenarlos de la misma manera en la variable aux y volcarlos igual en el select después.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.