Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/10/2014, 16:41
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: Recorrer inputs dentro de un div

Supongamos que tenemos una estructura así:

Código HTML:
Ver original
  1. <div class = "noticia">
  2.     <input type = "checkbox" name = "foo" /> Foo
  3.     <input type = "checkbox" name = "bar" /> Bar
  4.     <input type = "checkbox" name = "bin" /> Bin
  5.     <input type = "checkbox" name = "baz" /> Baz
  6. </div>

Para saber cuáles son los checkbox que están marcados y cuáles no lo están, basta con hacer lo siguiente:

Código Javascript:
Ver original
  1. var contenido, mensaje;
  2. $("#check").on("click", function(){
  3.     $("#out").html(null);
  4.     $(".noticia :checkbox").each(function(){
  5.         contenido = $("#out").html();
  6.         mensaje = this.checked ?
  7.                   "El checkbox " + this.name + " se encuentra marcado.<br />" :
  8.                   "El checkbox " + this.name + " no se encuentra marcado.<br />";
  9.         $("#out").html(contenido + mensaje);
  10.     });
  11. });

En donde $("#check") es un botón al cual le daré un clic para realizar la comprobación, mientras que $("#out"), es un <div> (o cualquier otro elemento contenedor) en el que iré añadiendo los estados de cada checkbox.

El asunto es simple. Al dar clic al botón de comprobación, tomo a todos los elementos de tipo checkbox contenidos en cada elemento de clase "noticia" e itero al conjunto resultante. En cada iteración, compruebo si el checkbox actual en la iteración se encuentra marcado, de ser así, muestro un mensaje informando al usuario que el actual checkbox está marcado. El mensaje indicará lo contrario cuando el checkbox no esté marcado.

Solo como acotación, los mensajes no necesariamente tienes que mostrarlos en un contenedor, puedes usar la consola, así como mensajes de alerta o lo que creas conveniente.



Y antes de que me lo preguntes solo por si a caso, esto:

Código Javascript:
Ver original
  1. mensaje = this.checked ?
  2.           "El checkbox " + this.name + " se encuentra marcado.<br />" :
  3.           "El checkbox " + this.name + " no se encuentra marcado.<br />";

Equivale a esto:

Código Javascript:
Ver original
  1. if (this.checked){
  2.     mensaje = "El checkbox " + this.name + " se encuentra marcado.<br />";
  3. }
  4. else{
  5.     mensaje = "El checkbox " + this.name + " no se encuentra marcado.<br />";
  6. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand