克隆datepicker对象[JQuery]

Gaz*_*ion 8 jquery clone jquery-ui-datepicker

我有一个输入字段,我通过css类定义为datepicker.我现在想要克隆这个输入字段并使其克隆输入也是datepickers.

从各种来源阅读后,我开始相信以下代码应该可以工作,但事实并非如此.我希望也许有人可以帮我搞清楚我做错了什么:)

<input type="text" id="date" name="date" class="calendar" />
<input type="button" id="clone" name="clone" value="Clone dates" />
Run Code Online (Sandbox Code Playgroud)

这是javascript:

<script type="text/javascript">
$(document).ready(function(){

 $('.calendar').datepicker();

 $('#clone').click(function()
 {
  $('.calendar:last').clone().append().insertAfter('.calendar:last');
 });

});

</script>
Run Code Online (Sandbox Code Playgroud)

到目前为止,输入字段是重复的,并在最后一个实例之后插入,但是datepicker不起作用.我尝试将'true'传递给克隆函数,但它给了我一个错误,说明没有定义.

任何帮助,将不胜感激 :)

Dav*_*ton 14

把它改成这个:

$('.calendar:last').clone(false).removeClass('hasDatepicker').insertAfter('.calendar:last').datepicker();
Run Code Online (Sandbox Code Playgroud)


Sam*_*ghs 5

坏了我不能再对上面给出的答案发表评论,但代码仍然存在问题!datepicker显示在克隆的input元素中,但在原始输入字段中使用选定的日期值,并将克隆的输入字段留空.有任何建议吗?

编辑:

使用以下代码为我修复它..

$('.datum',clone).removeClass("hasDatepicker").attr('id',"").datepicker();
Run Code Online (Sandbox Code Playgroud)

(请注意,我已经克隆了一个包装器,并且只针对该包装器中的'datum'输入字段)

在删除上面建议的类之后,我还删除了克隆输入元素的id.它与原始版本相同,这就是我在datepicker框中使用所选日期更新原始输入字段的原因.