Ver Mensaje Individual
  #16 (permalink)  
Antiguo 07/05/2007, 08:07
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Como hacer que aparezcan elementos seleccionados de un desplegable?

Qué lío hay con este post ¿no?

¿Os parece más sencilla la solución con una lista que con una tabla?
Código PHP:
<select id="sel" onchange="agregarALaLista( this.options[this.options.selectedIndex].text );">
    <
option>casa</option>
    <
option>coche</option>
    <
option>avi&#243;n</option>
    
<option>tren</option>
    <
option>monorrail</option>
    <
option>trolebus</option>
</
select> <input type="button" onclick="borrarUltimo()" value="borrar el último" />
<
ol id="lista"></ul>


<
script>

var 
laLista=document.getElementById("lista");
// agrega un elemento a la lista, al final. Con el texto txt
function agregarALaLista(txt) {
    var 
elem=document.createElement("LI");
    
elem.appendChilddocument.createTextNodetxt ) );
    
laLista.appendChildelem );
}

// elimina el último elemento de la lista
function borrarUltimo() {
    var 
elementosLI=laLista.getElementsByTagName("LI");
    if( 
elementosLI.length )
        
laLista.removeChildelementosLI[elementosLI.length-1] );
    else
        
alert("No hay en la lista nada que borrar.");
}


</script> 
A mi me parece más limpio, y más controlable mediante CSS. Además así no te tienes que preocupar por el número de elementos seleccionados, y si los quisieras los podrías hallar con:
laLista.getElementsByTagName("LI").length
sin ningún problema.


Las tablas son un lío porque están llenas de nodos de texto vacío si utilizamos tabulaciones y hay que tener en cuenta demasiadas cosas, <tbody>, <thead>, y demás historias a las que no estamos acostumbrados.



Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.