Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] datepicker en campos dinamicos

Estas en el tema de datepicker en campos dinamicos en el foro de Jquery en Foros del Web. hola amigos del foro tengo el siguiente script que genera campos dinamicos al pulsar un boton, quiero a uno de los campos que se llama ...
  #1 (permalink)  
Antiguo 05/02/2013, 13:46
 
Fecha de Ingreso: enero-2013
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
datepicker en campos dinamicos

hola amigos del foro tengo el siguiente script que genera campos dinamicos al pulsar un boton, quiero a uno de los campos que se llama fecha de nacimiento colocarle la propiedad de datepicker de jquery , lo e intentado cambiendo el id por class para que la propiedad sea asignada a los campos pero no funciona aqui el codigo:


var counter = 0;
var limit =5;
$(function() {
$('.bod1').datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true,
buttonImage: '/calendar.gif',
buttonImageOnly: true,
yearRange: '-113:+0'});
});
function addInput(divName){ <!--Script que crea los campos para los hijos de forma dinamica -->
if (counter == limit) {
alert("¡NUMERO MAXIMO DE DESCENDIENTES ALCANSADO!");
;
}
else {
var newdiv = document.createElement('div');
newdiv.innerHTML = "<div id='hijo'><table id='hijo'><tr><td>-Descendiente:<td> </tr>"
+ " <tr><td>Nombre(s) </td> <td><input type='text' name='a[]' ></td></tr>"+
" <tr> <td>Apellido(s) </td> <td><input type='text' name='b[]' ></td> </tr>"+
"<tr id='error[]'> </tr>"+"<tr> <td>fecha de nacimiento </td> <td><input class='bod1' type='text' name='c[]'></td> </tr>"+
"<tr><td>Nacionalidad</td><td><input type='text' name='d[]'></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 type='text' name='g[]'></td> </tr>"+
"<input type='hidden' name='h[]' value='descendiente' ></table><br>"+"</div>" ;
document.getElementById(divName).appendChild(newdi v);
counter++;

}
}
function removeDiv(divId) { <!--funcion que elimina a los campos creados de forma dinamica -->
$("#"+divId).remove();
counter=counter-1;

}

<input type="button" value="Agregar Descendientes:hijo(a)" onClick="addInput('dynamicInput');">
<input type="button" value="Eliminar Descendientes:hijo(a)" onclick="removeDiv('hijo');">
<div id="dynamicInput">

</div>

cualquier ayuda es muy apreciada
  #2 (permalink)  
Antiguo 05/02/2013, 14:29
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: datepicker en campos dinamicos

Usa livequery cuando los elementos generados dinamicamente no responden a ningun evento en particular (click, change, hover...), usa on cuando no sea el caso.
Los elementos dinamicos en js aparecen "muertos" a diferencia del CSS en el cual generas y los estilos se aplican normalmente, jquery dispone de algunos medio para "revivir" esos elementos como on.(recomendado 1.8>), delegate., live. (deprecated) o el plugin livequery.

http://docs.jquery.com/Plugins/livequery

Ejemplo (cargar livequery)

Código PHP:
$('.birthDate').livequery(function(){
  $(
this).datepicker();
  return 
false;
}); 

Última edición por Rosencrantz; 05/02/2013 a las 14:38
  #3 (permalink)  
Antiguo 06/02/2013, 08:01
 
Fecha de Ingreso: enero-2013
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: datepicker en campos dinamicos

Cita:
Iniciado por Rosencrantz Ver Mensaje
Usa livequery cuando los elementos generados dinamicamente no responden a ningun evento en particular (click, change, hover...), usa on cuando no sea el caso.
Los elementos dinamicos en js aparecen "muertos" a diferencia del CSS en el cual generas y los estilos se aplican normalmente, jquery dispone de algunos medio para "revivir" esos elementos como on.(recomendado 1.8>), delegate., live. (deprecated) o el plugin livequery.

[URL="http://docs.jquery.com/Plugins/livequery"]http://docs.jquery.com/Plugins/livequery[/URL]

Ejemplo (cargar livequery)

Código PHP:
$('.birthDate').livequery(function(){
  $(
this).datepicker();
  return 
false;
}); 


gracias amigo lo solucione usando on() , solo necesita saber que usar ley un poco y lo saque gracias de verdad

Última edición por nexusdata; 06/02/2013 a las 09:08 Razón: progreso en la plaicación de la alternativa

Etiquetas: campos, datepicker, dinamicos
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 16:17.