Código:
var counter= 0; var edad2="t"; var edad1="e"; var edad3="z"; var edad4="k"; var edad5="m"; var counterz=0; var limit =4; var edad; var counterp=0; var h1; var h; var h2; function addInput(divName){ if (counter > limit) { alert("¡NUMERO MAXIMO DE DESCENDIENTES ALCANSADO!"); } else { newdiv = document.createElement('div'); resultado = edad1+counterz; h=edad2+counterz; h1=edad3+counterz; h2=edad4+counterz; h3=edad5+counterz; newdiv.innerHTML = "<div class='hijo'><table id='hijo'><tr><td><font color='darkred'>-Descendiente:</font><td> </tr>" + " <tr><td>Nombre(s) </td> <td><input id='"+h+"' required type='text' name='a[]' class='nombrej' onkeypress='return letras(event)' ><font color='red'>*</font></td></tr>"+ " <tr> <td>Apellido(s) </td> <td><input id='"+h1+"' required type='text' name='b[]'class='apellidoj' onkeypress='return letras(event)'><font color='red'>*</font></td> </tr>"+ "<tr id='error[]'> </tr>"+"<tr> <td>Edad </td> <td><input id='"+resultado+"' size='15' class='bod' type='text' readonly name='c[]'onchange='return calcularEdad(this.id)' ><font color='red'>*</font></td> </tr>" +"<tr><td>Nacionalidad</td><td><input type='text' id='"+h3+"' onkeypress='return letras(event)' class='nacionalidadj'name='d[]'><font color='red'>*</font></td> </tr>" +" <tr><td> Genero</td> <td> <select name='e[]'><option value='Masculino'> Masculino </option> <option value='Femenino'>Femenino</option> </select></td></tr>" + " <tr> <td>Documento de Identificación </td> <td> <select name='f[]'><option value='Pasaporte'> Pasaporte </option> <option value='Cedula-e'>Cedula-e</option> <option value='otro'>Otro</option> </select></td></tr>" +" <tr> <td>Numero documento de Identificación</td> <td><input id='"+h2+"' onkeypress='return identificación(event)'class='nidj' type='text' name='g[]'><font color='red'>*</font></td></tr>"+ "<input type='hidden' name='h[]' value='descendiente' ></table>"+"</div>" ; document.getElementById(divName).appendChild(newdiv); counter++ counterz++ } } function removeDiv(divId) { //funcion que elimina a los campos creados de forma dinamica if (counter!=0){ resultado = edad1+counterz; counter-- resultado=edad1+counterz; $("#"+divId).remove(); } } function calcularEdad(z){ a=document.getElementById(z).value alert("Fecha de Nacimiento: "+a) id=z; hoy = new Date(); f=a.split("/"); nacimiento= new Date(f[2],f[1]-1,f[0]); edad=(hoy.getFullYear()-nacimiento.getFullYear()); if((nacimiento.getMonth())*100+nacimiento.getDate( ) > hoy.getMonth()*100+hoy.getDate()){ edad--; } if(edad<=0){edad="menor a 1 año"} else if(edad>=18){ alert("MAYOR DE EDAD DEBE HACER SU SOLICITUD DE FORMA INDIVIDUAL"); } document.getElementById(id).value=edad; } function calcularEdadPadres(c){ a=document.getElementById(c).value alert("Fecha de Nacimiento: "+a) id=c; hoy = new Date(); f=a.split("/"); nacimiento= new Date(f[2],f[1]-1,f[0]); edad=(hoy.getFullYear()-nacimiento.getFullYear()); if((nacimiento.getMonth())*100+nacimiento.getDate( ) > hoy.getMonth()*100+hoy.getDate()){ edad--; } if(edad<=0){edad="<1año"} document.getElementById(id).value=edad; } //validación de los campos dinamicos de los hijos $(document).on('click','.modulo',function fecha(){ $('.nombrej').rules("add", { required: true, minlength: 4, messages: { required: "Este campo es obligatorio", minlength: jQuery.format("Minimo {0} Caracteres") } }); $('.apellidoj').rules("add", { required: true, minlength: 4, messages: { required: "Este campo es obligatorio", minlength: jQuery.format("Minimo {0} Caracteres") } }); $('.nidj').rules("add", { required: true, minlength: 10, messages: { required: "Este campo es obligatorio", minlength: jQuery.format("Minimo {0} Caracteres") } }); $('.nacionalidadj').rules("add", { required: true, minlength:5, messages: { required: "Este campo es obligatorio", minlength: jQuery.format("Minimo {0} Caracteres") } }); $('.bod').rules("add", { required: true, messages: { required: "Este campo es obligatorio", } }); });
como ven la parte que dice validacion hijos solo sirve para el primero que se genera no para los demas porfavor ayuda no se que pueda ser porfavo porfavor porfavor