Foros del Web » Programando para Internet » Javascript »

Despliegue de campos al seleccionar radio button

Estas en el tema de Despliegue de campos al seleccionar radio button en el foro de Javascript en Foros del Web. Buenos dias: Estoy realizando una pagina en jsp, pero quiero realizar algo en dicha pagina, que estoy casi seguro que puede hacerse en js. Actualmente, ...
  #1 (permalink)  
Antiguo 11/11/2014, 08:51
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 13 años, 1 mes
Puntos: 9
Despliegue de campos al seleccionar radio button

Buenos dias:

Estoy realizando una pagina en jsp, pero quiero realizar algo en dicha pagina, que estoy casi seguro que puede hacerse en js. Actualmente, la pagina posee un menu con tres radio button, que digamos poseen valor1, valor2, y valor3; a su vez, cada radio button, despliega a su vez mas opciones, dependiendo del valor seleccionado
Lo que deseo realizar es que cuando se seleccione el valor3 y la opcion 2, se despliega a su vez otros campos; se que los tiros van por cambiar el valor de display:none, pero como no conozco mucho de javascript, no he podido realizarlo

Muchas gracias
  #2 (permalink)  
Antiguo 11/11/2014, 09:09
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: Despliegue de campos al seleccionar radio button

No se entiende bien. Podrías compartir tu JS para que podamos ver el problema?
  #3 (permalink)  
Antiguo 11/11/2014, 09:19
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Despliegue de campos al seleccionar radio button

Lo que pasa es que el archivo tiene cientos de lineas, asi que no estaria tan facil copiarlo
Voy a tratar de explicar nuevamente

La pagina posee un menu con 3 radio button, con valor1, valor2 y valor3; al seleccionar alguno de los valores, estos a su vez despliegan mas opciones. Lo que intento realizar es que cuando se elija el valor3 y una de las opciones desplegadas, de manera especifica, muestre unos campos adicionales, que estaran ocultos. Estoy casi seguro que el tema va por cambiar, a traves de javascript, el valor display de esos campos, pero no he logrado plasmarlo, porque a lo mejor estare haciendo algo mal

Muchas gracias
  #4 (permalink)  
Antiguo 11/11/2014, 09:27
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: Despliegue de campos al seleccionar radio button

Hacé lo siguiente:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. // Todo el código necesario para llegar a que se seleccionó el valor 3. Hagamos de cuenta que la variable selección contiene el valor del radiobutton
  3.  
  4. if (seleccion == 3) {
  5.     // Con el id de los campos ocultos, en este caso tuCampo
  6.     document.getElementById('tuCampo').style.display = 'block';
  7. } else {
  8.     document.getElementById('tuCampo').style.display = 'none';
  9. }
  10.  
  11. </script>
  #5 (permalink)  
Antiguo 11/11/2014, 09:37
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Despliegue de campos al seleccionar radio button

Eso era mas o menos lo que estaba haciendo, pero el diseño es un poco complicado, porque hay que trabajarlo con tablas (lo se, a mi tampoco me gusta, pero como ya hay un monton de paginas hechas asi, pues ni modo)

Código Javascript:
Ver original
  1. <tr >
  2.                 <td nowrap>
  3.                     <table cellspacing="0" cellpadding="2" width="100%" border="0" id="fecha" style="display:none">
  4.                 <tr id="trdark">
  5.                 <td nowrap align="center" valign="middle">
  6.                     <select name="E22BDD" id="E22BDD">
  7.                         <%for (int i = 1; i <= 31; i++) {%>
  8.                         <option value="<%=i%>" <%if (client.getE22BDD().equals(new Integer(i).toString())) out.print("selected");%>><%=i%></option>
  9.                         <%}%>
  10.                     </select>
  11.                     <select name="E22BDM" id="E22BDM">
  12.                         <%for (int i = 1; i <= 12; i++) {%>
  13.                         <option value="<%=i%>" <%if (client.getE22BDM().equals(new Integer(i).toString())) out.print("selected");%>><%=i%></option>
  14.                         <%}%>
  15.                     </select>
  16.                     <select name="E22BDY" id="E22BDY" onblur="run()">
  17.                         <%
  18.                         DateFormat formatY = new SimpleDateFormat("yyyy");
  19.                         Date year = new Date();
  20.  
  21.                         for (int i = 1910; i <= new Integer(formatY.format(year)).intValue(); i++) {
  22.                         %>
  23.                         <option value="<%=i%>" <%if (client.getE22BDY().equals(new Integer(i).toString())) out.print("selected");%>><%=i%></option>
  24.                         <%}%>
  25.                     </select>
  26.                     </td>
  27.                 </tr>
  28.                 </table>
  29.                 </td>
  30.                 </tr>

Estos son los campos que se encuentran ocultos (es una mezcla de html y java, como podras ver)

Muchas gracias por tu colaboracion
  #6 (permalink)  
Antiguo 11/11/2014, 10:21
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: Despliegue de campos al seleccionar radio button

Deberías ocultar y/o mostrar todos los elementos dentro de ese row? Si es así, simplemente podés hacer algo así (te hago una estructura simplificada para que entiendas mi idea):

Código HTML:
<html>
<body>
    <table border="1">
        <thead>
            <tr>
                <th>pri</th>
                <th>seg</th>
            </tr>
        </thead>
        <tr id="oculto">
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>1.1</td>
            <td>1.2</td>
        </tr>
    </table>
    <script type="text/javascript">
        var ocultoTags = document.getElementById('oculto').getElementsByTagName('td');

        for(var a = 0; a < ocultoTags.length; a++) {
            ocultoTags[a].style.display = 'none';
        }
    </script>
</body>
</html> 
De esta manera sólo ocultas los td y no los tr para que no se rompa la maquetación de tu tabla.

Etiquetas: button, campos, despliegue, js, radio, valor
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 20:04.