Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/08/2012, 10:26
Avatar de djaevi
djaevi
 
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 17 años, 1 mes
Puntos: 47
Respuesta: recuperar campos dinamicos

Puedes colocar esos parrafos dentro de un div con un id y luego recorrerlo con jquery:

Código HTML:
Ver original
  1. <div id="dinamicos">
  2.             <p>
  3.             <input type="text" name="nombre" value=cesar 1  />
  4.             <input type="text" name="nac" value=11/07/2012  />
  5.             <input type="checkbox" name="disc"  checked=checked />
  6.             </p>              
  7.             <p>
  8.             <input type="text" name="nombre" value=cesar 2  />
  9.             <input type="text" name="nac" value=10/08/2005  />
  10.             <input type="checkbox" name="disc"  />
  11.             </p>
  12.         </div>

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.         var elementos = $("#dinamicos p");
  3.         var nombres = [];
  4.         var nac = [];
  5.         var disc = []
  6.         $.each(elementos,function(i,v) {
  7.             var subelementos = $(elementos[i]).children();
  8.             nombres.push($(subelementos[0]).val());
  9.             nac.push($(subelementos[1]).val());
  10.             disc.push($(subelementos[2]).attr("checked"));
  11.         })
  12.         var str = nombres.join("-") + "\n" + nac.join("-") + "\n" + disc.join("-");
  13.         alert(str);
  14.     })

En esa funcion primero selecciono los parrafos dentro del div dinamicos con la linea:
var elementos = $("#dinamicos p");

Luego creo 3 arrays donde ire guardando los valores que voy recogiendo, fijate tambien algo muy importante les asigne el mismo name a los campos dinamicos (nombre,nac,disc) en lugar de (nombre-0,nombre-1 etc) justamente la idea del name es poder agrupar por nombres, y creo el bucle jquery donde recorro los parrafos contenidos dentro del div dinamicos.

ahi creo otra variable donde guardo los nodos hijos de ese parrafo usando .children();

entonces esa variable guarda los 3 nodos que contiene el parrafo luego solo se los agrego a los arrays correspondientes. Probalo a ver si te sirve

Saludos