Tengo un formulario que contiene el botón Agregar más campo , que agrega dinámicamente nuevos selectores de fecha cada vez que hago clic en el botón Agregar más campo.
El problema es que el campo de fecha actual en el selector de fecha muestra la fecha actual. Pero cuando agrego un nuevo Selector de fecha haciendo clic en el botón Agregar más campo , agrega un Selector de fecha más, pero esta vez restablece el valor anterior del Selector de fecha que había configurado manualmente.
A continuación se muestra mi código: html
<div id="container"> <input class="datepick" type="text"></input><button class="add">Add</button> <input </div>javascript
$(".datepick").datepicker(); $(".datepick").datepicker().datepicker("setDate", new Date()); $(document).on('click', '.add', function() { var appendTxt = '<input class="datepick" type="text" /><button class="add">Add</button>'; $("#container").append(appendTxt); $(".datepick").datepicker(); $(".datepick`enter code here`").datepicker().datepicker("setDate", new Date()); });Por esta línea:
$(".datepick").datepicker(); Todas las entradas que tengan la clase .datepick se reiniciarán. Deberías hacer algo como esto:
$(".datepick").last().datepicker();o
$(".datepick:last").datepicker(); después de agregar el nuevo input.datepick . Esta fue la solución simple.
Si tiene cualquier otro .datepick en otro contenedor después de este contenedor, esto tampoco funcionará. Debe ser muy específico sobre el elemento selector de fecha adjunto.
Usted debe hacer esto :
var appendTxt = '<input class="datepick" type="text" /><button class="add">Add</button>'; var newInput = $(appendTxt).appendTo("#container"); newInput.datepicker(); newInput.datepicker().datepicker("setDate", new Date());