我的表单包含添加更多字段按钮,每当我点击添加更多字段按钮时,动态添加新 datepicker的。
问题是, datepicker 中的当前日期字段显示当前日期。 但是,当我通过点击添加更多字段按钮添加新的 Datepicker 时,它会再添加一个 Datepicker ,但这次它会重置以前的值我手动设置的 Datepicker 。
以下是我的代码: 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());
});
答案 0 :(得分:4)
由于这一行:
$(".datepick").datepicker();
具有班级.datepick
的所有输入都将重新初始化。你应该这样做:
$(".datepick").last().datepicker();
或
$(".datepick:last").datepicker();
添加新的input.datepick
后。这是一个简单的解决方案。
如果您在此容器后面的另一个容器中有任何其他.datepick
,那么这也不会起作用。您应该对附加的datepicker元素非常具体。
你应该这样做:
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());