Foros del Web » Programando para Internet » Javascript »

Ocultar un select y mostrar otro al pusar radio

Estas en el tema de Ocultar un select y mostrar otro al pusar radio en el foro de Javascript en Foros del Web. hola amigos como estais, Vereis tengo este codigo muy sencillo que al pulsar un radio muestra un select y al pulsar el otro lo oculta, ...
  #1 (permalink)  
Antiguo 21/06/2011, 05:54
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 4
Ocultar un select y mostrar otro al pusar radio

hola amigos como estais,


Vereis tengo este codigo muy sencillo que al pulsar un radio muestra un select y al pulsar el otro lo oculta, la cosa es que necesitaria que al pulsar el primer radio mostrase el select pero que al pulsar el segundo radio ocultase el select del primer radio y mostrase otro select diferente.

<table width="44%" border="1">

<tr>
<td width="40%" class="parrafo"><div align="left"><strong>Posee SubNivel:</strong></div></td>
<td width="60%" class="parrafo">&nbsp;&nbsp;Si
<input type="radio" name="radio" id="radio" value="radio" onClick="link1.style.display=''">
&nbsp;&nbsp;No
<input type="radio" name="radio" id="radio2" value="radio" onClick="link1.style.display='none'"></td>
</tr>
<tr id="link1" style="display:none">
<td class="parrafo">&nbsp;</td>
<td class="parrafo"><select name="select" id="select">
<option>dato1</option>
<option>datos1</option>
</select>
</td>
</tr>

</table>

A ver si alguien sabe como podria hacer esto, gracias de ante mano amigos.
  #2 (permalink)  
Antiguo 21/06/2011, 06:47
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Ocultar un select y mostrar otro al pusar radio

Ejemplo:

Código HTML:
Ver original
  1.   function  mostrar_select1(){
  2.    
  3.     document.getElementsByName('select2')[0].style.display = 'none';
  4.     document.getElementsByName('select1')[0].style.display = 'block';
  5.   }
  6.     function  mostrar_select2(){
  7.     document.getElementsByName('select1')[0].style.display = 'none';
  8.     document.getElementsByName('select2')[0].style.display = 'block';
  9.   }
  10.  
  11. <table width="44%" border="1">
  12.  
  13. <tr>
  14. <td width="40%" class="parrafo"><div align="left"><strong>Posee SubNivel:</strong></div></td>
  15. <td width="60%" class="parrafo">&nbsp;&nbsp;Si
  16. <input type="radio" name="radio" id="radio" value="radio"  onClick="mostrar_select1()">
  17. &nbsp;&nbsp;No
  18. <input type="radio" name="radio" id="radio2" value="radio" onClick="mostrar_select2()"></td>
  19. </tr>
  20. <tr id="link1">
  21. <td class="parrafo">&nbsp;</td>
  22. <td class="parrafo">
  23.   <select name="select1" id="select1" style="display:none;">
  24. <option>dato1</option>
  25. <option>datos1</option>
  26.  
  27.   <select name="select2" id="select2" style="display:none;">
  28. <option>otras opciones 1</option>
  29. <option>otras opciones 2</option>
  30. </td>
  31. </tr>
  32.  

Lo único que hice fue modificar un poco tu código, pero no te recomiendo usar Javascript o CSS incrustados. Se hace dificil de seguir y mantener.
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 21/06/2011, 06:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Ocultar un select y mostrar otro al pusar radio

Código HTML:
Ver original
  1. <table width="44%" border="1">
  2.  
  3. <tr>
  4. <td width="40%" class="parrafo"><div align="left"><strong>Posee SubNivel:</strong></div></td>
  5. <td width="60%" class="parrafo">&nbsp;&nbsp;Si
  6. <input type="radio" name="radio" id="radio" value="radio" onClick="link1.style.display='';link2.style.display='none'">
  7. &nbsp;&nbsp;No
  8. <input type="radio" name="radio" id="radio2" value="radio" onClick="link1.style.display='none';link2.style.display=''"></td>
  9. </tr>
  10. <tr id="link1" style="display:none">
  11. <td class="parrafo">Select si, Sí&nbsp;</td>
  12. <td class="parrafo"><select name="select1" id="select1">
  13. <option>dato11</option>
  14. <option>datos11</option>
  15. </td>
  16. </tr>
  17. <tr id="link2" style="display:none">
  18. <td class="parrafo">Select si, No&nbsp;</td>
  19. <td class="parrafo"><select name="select2" id="select2">
  20. <option>dato12</option>
  21. <option>datos12</option>
  22. </td>
  23. </tr>
  24.  

Fàcil no?... ojo que el select sigue existiendo y el formulario lo mandará... pero eso ya te ocurria antes....

Lo suyo seria que te asegures que el select oculto tenga el valor nulo....

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5. function cambiaSelect(numIdSelect){
  6. if(numIdSelect=="1"){
  7. numIdOtroSelect="2";
  8. }else{
  9. numIdOtroSelect="1";
  10. }
  11. document.getElementById("link"+numIdSelect).style.display='';
  12. document.getElementById("link"+numIdOtroSelect).style.display='none';
  13. document.getElementById("select"+numIdOtroSelect).selectedIndex=0;
  14. }
  15. </head>
  16. <table width="44%" border="1">
  17.  
  18. <tr>
  19. <td width="40%" class="parrafo"><div align="left"><strong>Posee SubNivel:</strong></div></td>
  20. <td width="60%" class="parrafo">&nbsp;&nbsp;Si
  21. <input type="radio" name="radio" id="radio" value="radio" onClick="cambiaSelect('1')">
  22. &nbsp;&nbsp;No
  23. <input type="radio" name="radio" id="radio2" value="radio" onClick="cambiaSelect('2')"></td>
  24. </tr>
  25. <tr id="link1" style="display:none">
  26. <td class="parrafo">Select si, Sí&nbsp;</td>
  27. <td class="parrafo"><select name="select1" id="select1">
  28. <option value="0">...</option>
  29. <option value="1">dato11</option>
  30. <option value="2">datos11</option>
  31. </td>
  32. </tr>
  33. <tr id="link2" style="display:none">
  34. <td class="parrafo">Select si, No&nbsp;</td>
  35. <td class="parrafo"><select name="select2" id="select2">
  36. <option value="0">...</option>
  37. <option value="1">dato12</option>
  38. <option value="2">datos12</option>
  39. </td>
  40. </tr>
  41.  
  42. </body>
  43. </html>

Cuydado lo contrario de

.style.display='none';

no es

.style.display='block';

si no

.style.display='';

aún que lo parezca...


Otra cosa

.selectedIndex=0;

será el valor nulo porque considero que este, el valor nulo, es la opción que he puesto en primer lugar

<option value="0">...</option>

que su value="0" no tiene nada que ver con el selectedIndex=0
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 21/06/2011 a las 07:01
  #4 (permalink)  
Antiguo 21/06/2011, 07:11
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 2 meses
Puntos: 4
Respuesta: Ocultar un select y mostrar otro al pusar radio

Gracias amigo por tu respuesta, es lo que estaba buscando.

Etiquetas: radio, select
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 00:24.