Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Recorrer inputs dentro de un div

Estas en el tema de Recorrer inputs dentro de un div en el foro de Jquery en Foros del Web. Hola a todos! Necesito recorrer todos los div de la clase "noticia" que tenga en mi pagina y comprobar si el input de tipo checkbox ...
  #1 (permalink)  
Antiguo 08/10/2014, 14:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 88
Antigüedad: 14 años, 1 mes
Puntos: 1
Recorrer inputs dentro de un div

Hola a todos!

Necesito recorrer todos los div de la clase "noticia" que tenga en mi pagina y comprobar si el input de tipo checkbox está activado o no.
La estructura html que tengo es la siguiente:

Código HTML:
<div class="noticia">
<input id="idempresa" type="hidden" value="1" name="identEmpresa">
<input id="idnoticia" type="hidden" value="5" name="identif">
<br>
<h3 class="TitNot">
<input type="checkbox" value="1" style="margin-right:10px; display:inline" title="Eliminar noticia" name="checkElimina">
Titulo
</h3>
<p>
<p class="descrip">Descripción</p>
</div> 
He implementado el siguiente bucle, para recorrerme todos los inputs que encuentre dentro del div noticia, pero ya no se preguntar correctamente por el tipo del input y por su valor.

Código PHP:
$(".noticia input").each(function ()
                    {
                       
//if ($(this.checked)==true)
                        //{
                            //acción a realizar
                        //}
                    
}) 

A ver si alguno me podéis ayudar.
Gracias
  #2 (permalink)  
Antiguo 08/10/2014, 16:40
 
Fecha de Ingreso: octubre-2010
Mensajes: 88
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Recorrer inputs dentro de un div

Por fin he conseguido que me funcione, y lo he solventado de la siguiente manera

Código PHP:
$.each( $(".noticia "), function()
                {
                    
idNoticia =  $(this).find('input[id=idnoticia]').val();
                    var 
mChec= $(this).find('input[type=checkbox]');                            
                    if (
mChec.is(':checked')){
                        
eliminaNoticia(idNoticia);
                        
$marcado=true;
                        }
                            
                 });
                
                 if (
$marcado==false)
                    
alert ("Debe seleccionar previamente alguna noticia para eliminar."); 
                 else
                    
location.reload(); 
Un saludo
  #3 (permalink)  
Antiguo 08/10/2014, 16:41
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
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

Etiquetas: html, input, inputs, javascript, 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 05:53.