Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/07/2005, 17:11
Avatar de Gerifaltus
Gerifaltus
 
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 6 meses
Puntos: 4
Sonrisa ordenar un select alfabeticamente

que tal otra duda compadres;

tengo otra duda y también lo intente hacer solo que no resulto (cabe aclarar que no soy muy diestro en javascript, por eso vengo a este foro)

mi duda es que teniendo dos select como a continuación se muestra en el codigo sigueinte.



Código HTML:
<script type="text/javascript"> 
function volcarSelects(emisor, receptor){ 
     
    // Accedemos a los 2 selects 
    emisor = document.getElementById(emisor); 
    receptor = document.getElementById(receptor); 
     
    // Obtenemos algunos datos necesarios 
    posicion = receptor.options.length; 
    selecionado = emisor.selectedIndex; 
     
    if(selecionado != -1) { 

        volcado = emisor.options[selecionado]; 
         
        // Volcamos la opcion al select receptor y lo eliminamos del emisor 
        receptor.options[posicion] = new Option(volcado.text, volcado.value); 
        emisor.options[selecionado] = null; 

    } 
     
} 
</script> 



Y aplicado sobre XHTML seria de la siguiente forma:

<select id="primero" style="width: 200px; height: 100px;" name="primero" multiple="multiple">
<option value="1">Noticias</option>
<option value="2">Inmuebles</option>
<option value="3">Herramientas</option>
<option value="4">Correos</option>
<option value="5">Usuarios</option>
<option value="6">Configuración</option>
</select>

<!-- Fijaros que a la funcion le paso el ID del select que envia y el segundo parametro es el ID que recibe -->
<input type="button" value="&rarr;" onclick="volcarSelects('primero', 'segundo');" />

<!-- En este caso quiero poder "quitar" opciones, por lo que invierto el orden de los parametros pasados a la función -->
<input type="button" value="&larr;" onclick="volcarSelects('segundo', 'primero');" />

<select style="width: 200px; height: 100px;" id="segundo" name="segundo" multiple="multiple">
</select>

Espero que os sirva :)

hago una aclaración, el código no lo cree yo, sino que lo encontre en esta web, obviamente tiene sus respectivos créditos su creador.

bien volviendo a lo que estaba, quisiera que cuando se regresará algun valor del segundo select al primer select, este valor no se colocara al final del select, sino que el select de alguna forma se ordenara alfabeticamente y ese valor volviera al lugar en donde esta en el primer select.

espero hacerme entender, por sus aportaciones y sugerencias, muchas gracias.