Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/05/2007, 13:27
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: ¿Campo de texto o select en función de la opción elegida en otro select?

Bueno, veamos.

En principio no pensaba hacerte todo el ejemplo entero pero me he puesto y al final...

Código PHP:
<select onchange="cambiarCapa(this)">
    <
option>-</option>
    <
option>a</option>
    <
option>b</option>
    <
option>c</option>
</
select>

<
div id="capa1" style="display:none;"
    <
input type="text" /> 
</
div>
<
div id="capa2" style="display:none;"
    <
select>
        <
option>1</option
        <
option>2</option>
        <
option>3</option>
    </
select>
</
div>
<
div id="capa3" style="display:none;"
    <
input type="radio" name="radios" /> Uno <br/>
    <
input type="radio" name="radios" /> Dos <br/>
    <
input type="radio" name="radios" /> Tres <br/>
</
div>


<
script>

function 
cambiarCapa(elSelect) {
    var 
idCapaAmostrar;
    
//escogemos la que nos interesa
    //según el texto de la opcion seleccionada del select
    
switch( elSelect.optionselSelect.options.selectedIndex ].text ) {        
        case 
"a":
            
idCapaAmostrar="capa1";
        break;
        case 
"b":
            
idCapaAmostrar="capa2";
        break;
        case 
"c":
            
idCapaAmostrar="capa3";
        break;
    }
    var 
lasCapas=["capa1","capa2","capa3"];
    for(var 
i in lasCapas)                                                //ocultamos todas
        
document.getElementById(lasCapas[i]).style.display="none";
    if(
idCapaAmostrar!=undefined)
        
document.getElementById(idCapaAmostrar).style.display="block";        //mostramos la que nos interesa
}

</script> 

Podría ser así.

Si tienes dudas me dices.



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