Foros del Web » Programando para Internet » Javascript »

radio button muestra div, cambiar div al cambiar radio

Estas en el tema de radio button muestra div, cambiar div al cambiar radio en el foro de Javascript en Foros del Web. Hola amigos, soy principiante en javascript y he estado navegando en busca de ayuda y me he encontrado con esta respuesta que me ha servido ...
  #1 (permalink)  
Antiguo 01/04/2012, 22:01
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años, 1 mes
Puntos: 2
radio button muestra div, cambiar div al cambiar radio

Hola amigos, soy principiante en javascript y he estado navegando en busca de ayuda y me he encontrado con esta respuesta que me ha servido mucho pero quedo inconcluso

http://www.forosdelweb.com/f13/como-...8/#post2776735
(Preferí hacer un hilo nuevo ya que el otro era antiguo)
el código

Código Javascript:
Ver original
  1. function showMe (it, box) {
  2. var vis = (box.checked) ? "block" : "none";
  3. document.getElementById(it).style.display = vis;
  4. }

Código HTML:
Ver original
  1. <input id="Otro" name="Otro" type="radio" value="t1" onclick="showMe('oculto', this)" > Opcion 1
  2. <input id="Otro2" name="Otro" type="radio" value="t2" onclick="showMe('oculto2', this)" > Opcion 2
  3. <input id="Otro3" name="Otro" type="radio" value="t3" onclick="showMe('oculto3', this)" > Opcion 3
  4. <div id="oculto" style="display:none" >
  5. <input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value1" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value2" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value3" >
  6. <br />+++++++++++++++++++++++
  7. </div>
  8. <div id="oculto2" style="display:none" >
  9. <input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value1" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value2" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value3" >
  10. <br />+++++++++++++++++++++++
  11. </div>
  12. <div id="oculto3" style="display:none" >
  13. <input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value1" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value2" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value3" >
  14. <br />+++++++++++++++++++++++
  15. </div>

Hace lo que promete, al elegir una opcion en el radio, despliega el div oculto, y lo que faltaría es que al cambiar de opción, oculte la que esta seleccionada con anterioridad, ¿Cómo debería hacerlo?
Una imagen como ejemplo:
En esta imagen primero seleccione un radio, luego "me arrepentí" y elejí otro, quedó la opcion 1 y opcion 2 desplegados. le hice las cruces ++++++ para diferenciar.




Espero que me puedan ayudar.

Saludos.
  #2 (permalink)  
Antiguo 02/04/2012, 06:49
Avatar de diamari  
Fecha de Ingreso: marzo-2012
Mensajes: 95
Antigüedad: 12 años, 1 mes
Puntos: 30
Respuesta: radio button muestra div, cambiar div al cambiar radio

De lo visto, el código esta hecho para lo que quieres. Solo que no con botones de radio. Lo mas simple seria utilizando checkbox. Si no habría que añadir en showme una verificación para cada uno de los opciones.
  #3 (permalink)  
Antiguo 03/04/2012, 07:49
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: radio button muestra div, cambiar div al cambiar radio

No, no me sirve checkbox, ya que quiero que el usuario solo pueda seleccionar solo una opción. Gracias, investigaré el lado de la verificación.

Saludos.
  #4 (permalink)  
Antiguo 03/04/2012, 12:28
Avatar de diamari  
Fecha de Ingreso: marzo-2012
Mensajes: 95
Antigüedad: 12 años, 1 mes
Puntos: 30
Respuesta: radio button muestra div, cambiar div al cambiar radio

Código:
function showMe () {
	var vis;
	var box;
	for (i=1;i<=3;i++){
		box = document.getElementById('Otro' + i);
		vis = (box.checked) ? "block" : "none";
		document.getElementById('oculto' + i).style.display = vis;
	}
}
Código:
<form name="form1">
    <input id="Otro1" name="Otro" type="radio" value="t1" onclick="showMe()" > Opcion 1
<input id="Otro2" name="Otro" type="radio" value="t2" onclick="showMe()" > Opcion 2
<input id="Otro3" name="Otro" type="radio" value="t3" onclick="showMe()" > Opcion 3
<div id="oculto1" style="display:none" >
<input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value1a" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value2" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value3" >
<br />+++++++++++++++++++++++
</div>
<div id="oculto2" style="display:none" >
<input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value1b" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value2" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value3" >
<br />+++++++++++++++++++++++
</div>
<div id="oculto3" style="display:none" >
<input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value1c" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value2" ><input id="otra_vivienda" name="otra_vivienda" type="text" size="20" maxlength="50" value="Value3" >
<br />+++++++++++++++++++++++
</form>
  #5 (permalink)  
Antiguo 03/04/2012, 12:35
 
Fecha de Ingreso: abril-2010
Mensajes: 112
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: radio button muestra div, cambiar div al cambiar radio

:D Muuuchas graciaaas, no me lo esperaba, eres muy amable.

Saludos!
  #6 (permalink)  
Antiguo 03/04/2012, 12:39
Avatar de avalos22  
Fecha de Ingreso: marzo-2012
Mensajes: 45
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: radio button muestra div, cambiar div al cambiar radio

function oculta(id){var D = document.getElementById(id);D.style.display='none';}
function muestra(id){var D = document.getElementById(id);D.style.display='block';}

<input type="radio" id="ImpV" checked="checked" onclick="muestra('a');" />

input type="radio" id="ImpT" onclick="muestra('t'); " />

<div id="a" >contenido del div a</div>
<div id="t" >contenido del div t</div>

Etiquetas: input, muestra, radio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:32.