Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Desplegar DIV al seleccionar checkbox o radio

Estas en el tema de Desplegar DIV al seleccionar checkbox o radio en el foro de Javascript en Foros del Web. Hola comunidad, de nuevo estoy atorado con un tema básico, pero le he dado vuelta y no me resulta. En un ciclo despliego una serie ...
  #1 (permalink)  
Antiguo 09/10/2013, 10:50
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Desplegar DIV al seleccionar checkbox o radio

Hola comunidad, de nuevo estoy atorado con un tema básico, pero le he dado vuelta y no me resulta.

En un ciclo despliego una serie de campos de mi db los cuales tienen un radio o un check (esa parte está matandome) que al seleccionarlo me despliega un div en el cual muestro comentarios sobre el campo referido, de la siguiente manera:

Código HTML:
Ver original
  1. Comentarios<input type='checkbox' name='comments<%=c %>' value='<%=c %>' id='comments' onClick='comments1(this.value,"<%=observaciones %>")

donde 'c' es un contador a partir de 1 y 'observaciones' es el campo que obtengo de mi db.

Lo que necesito hacer es, que al seleccionar el check o radio, se despliegue el div debajo de cada campo, el cual defino de la siguiente manera:

Código HTML:
Ver original
  1. <div id='comentarios"&c&"' style='display: none;'></div>

Mi duda es como le hago, dado que he intentado esto:

Código Javascript:
Ver original
  1. <script>
  2. $(document).ready(function(){
  3.    $("#coments").click(function(evento){
  4.       if ($("#coments").attr("checked")){
  5.          $("#cajasg").css("display", "block");
  6.       }else{
  7.          $("#cajasg").css("display", "none");
  8.       }
  9.    });
  10. });
  11. </script>

pero no se cómo pasar los valores del 'c' elemento que es para decir que es el div 3, por ejemplo.

Otra opción que he intentado, es la siguiente:

Código Javascript:
Ver original
  1. <script language="JavaScript">
  2.     function coments1(valor,obs)
  3.     {
  4.         if (obs == "")
  5.         {
  6.             obs = "No hay comentarios a este documneto.";
  7.         }
  8.         document.getElementById("comentarios"+valor).style.display='block';
  9.         document.getElementById("comentarios"+valor).innerHTML=obs;
  10.         for(i=0; i<valor; i++)
  11.         {
  12.             document.getElementById("comentarios"+i).style.display='none'
  13.         }
  14.     }  
  15. </script>

pero en esta opción sólo me marca la primera opción y si tengo más de uno, los siguientes no me los respeta.

Si alguien sabe cómo puedo solucionar este detalle, se lo agradezco.

Saludos.
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.
  #2 (permalink)  
Antiguo 10/10/2013, 17:43
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Desplegar DIV al seleccionar checkbox o radio

Pues quizás no sea la opción optima, pero funcionó y se los comparto:

Código HTML:
Ver original
  1. <span class='style17 style14'><div id='comentarios"&c&"' style='display: none;'>&nbsp;</div></span>
  2.  
  3. <input type="checkbox" name='comments' id='comments' onclick="document.getElementById('comentarios<%=c%>').style. display = (this.checked) ? 'block' : 'none'; document.getElementById('comentarios<%=c%>').innerHTML='<%=observaciones%>'" />
__________________
__________________________________________________ ___________________________________
Las cosas más reales sólo suceden en la imaginación... Sólo recordamos, lo que nunca sucedió.

Etiquetas: checkbox, desplegar, html, input, 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 06:39.