Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让jquery datepicker处理克隆行?_Jquery_Jquery Ui Datepicker - Fatal编程技术网

如何让jquery datepicker处理克隆行?

如何让jquery datepicker处理克隆行?,jquery,jquery-ui-datepicker,Jquery,Jquery Ui Datepicker,我查阅了很多帮助jquery datepicker在克隆行上不起作用的页面,但我似乎无法将我发现的任何建议转化为我的具体案例。以下是小提琴链接: 如有任何建议,将不胜感激 $(function() { $( "#datepicker" ).datepicker(); }); var i = 1; $("button").click(function() { $("table tr:first").clone().removeClass('hasDatepicker').find("in

我查阅了很多帮助jquery datepicker在克隆行上不起作用的页面,但我似乎无法将我发现的任何建议转化为我的具体案例。以下是小提琴链接: 如有任何建议,将不胜感激

$(function() {
  $( "#datepicker" ).datepicker();
});

var i = 1;
$("button").click(function() {
  $("table tr:first").clone().removeClass('hasDatepicker').find("input").each(function() {
    $(this).attr({
      'id': function(_, id) { return id + i },
      'name': function(_, name) { return name + i },
      'value': ''

    });
  }).end().appendTo("table");

  i++;

});
在单击事件中再次调用$(…).datepicker()

将类“mydatepickers”添加到输入

$(“.MyDatePicker”).datepicker()

在单击事件中再次调用$(…).datepicker()

将类“mydatepickers”添加到输入


$(“.MyDatePicker”).datepicker()

克劳迪奥斯几乎是对的

添加mydatepickers(或您选择的任何名称)类是必要的

但在click事件中重新初始化datepicker元素之前,必须先分离datepicker字段,然后再克隆行(即在click处理程序内部)

正如Russell G所解释的,这可能是因为datepicker对象认为它已经在整个DOM中初始化并中止

最后,在克隆行之后,重新初始化所有行


克劳迪奥斯几乎是对的

添加mydatepickers(或您选择的任何名称)类是必要的

但在click事件中重新初始化datepicker元素之前,必须先分离datepicker字段,然后再克隆行(即在click处理程序内部)

正如Russell G所解释的,这可能是因为datepicker对象认为它已经在整个DOM中初始化并中止

最后,在克隆行之后,重新初始化所有行

工作原理:

需要从克隆的元素中删除类HasDatePicker,因为这是阻止datepicker附加到特定元素的原因

需要从其他每个克隆元素中删除id属性。datepicker()将假定datepicker已添加到此元素

在那个调用之后。在克隆元素上的日期选择器

newNode.find('.test').each(function() {
   $(this).removeAttr('id').removeClass('hasDatepicker');
   $(this).datepicker({dateFormat: 'dd-mm-yy', minDate: 0, autoclose: true,});
});
工作原理:

需要从克隆的元素中删除类HasDatePicker,因为这是阻止datepicker附加到特定元素的原因

需要从其他每个克隆元素中删除id属性。datepicker()将假定datepicker已添加到此元素

在那个调用之后。在克隆元素上的日期选择器

newNode.find('.test').each(function() {
   $(this).removeAttr('id').removeClass('hasDatepicker');
   $(this).datepicker({dateFormat: 'dd-mm-yy', minDate: 0, autoclose: true,});
});

我个人不会克隆行,而是基于htmlstring模板生成新行。为什么按钮单击处理程序不在dom就绪处理程序中?我个人不会克隆行,而是基于htmlstring模板生成新行。为什么按钮单击处理程序不在dom就绪处理程序中?您的解决方案似乎不起作用。。。我错过什么了吗?Aarons在这方面的解决方案对我有效。你的解决方案似乎不起作用。。。我错过什么了吗?Aarons在这方面的解决方案对我有效,明白了!非常感谢你胡言乱语!明白了!非常感谢你胡言乱语!