当我动态添加新的datepicker时,之前的datepicker值会重置吗?

时间:2017-04-03 11:12:50

标签: javascript jquery html jquery-ui datepicker

我的表单包含添加更多字段按钮,每当我点击添加更多字段按钮时,动态添加新 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());

});

1 个答案:

答案 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());