【问题标题】:jQuery Flatpickr not working inside cloned elementjQuery Flatpickr 在克隆元素中不起作用
【发布时间】:2019-02-02 17:07:11
【问题描述】:

这是 Flatpickr 的加载方式:

 flatpickr(".ui-date", {
            dateFormat: 'd-m-Y',
        });

我正在克隆一个元素(点击按钮):

var clone = $('.medereiziger-hidden .sub-form.border.companion').last().clone();

在这个元素内部,有一个使用 Flatpickr 的日期选择器。

并将此克隆附加到页面:

clone.appendTo($('.medereizigerssection .sub-form.border.companion').last().parent());

现在,当我想使用其中一个日期选择器时,原来的非克隆的可以工作,但克隆的却不行。控制台日志中没有错误。

我该如何解决这个问题?

代码 sn-p 基于@Bhushan Kawadkar 他的回答:

var uiDate = clone.find(".ui-date");
        if(uiDate){
            flatpickr(uiDate, {
                dateFormat: 'd-m-Y',
            });
        }

这正在创建“o.getAttribute 不是函数”错误(flatpickr,第 2 行。)

【问题讨论】:

    标签: jquery datepicker append clone flatpickr


    【解决方案1】:

    您需要在克隆对象上再次调用 flatpicker,因为它不会自动应用 flatpicker

    尝试下面的代码,但要确保克隆应该与原始.ui-date html 的结构相同

    flatpickr(clone, {
                dateFormat: 'd-m-Y',
            });
    

    【讨论】:

    • 根据您的评论,这就是我现在所拥有的:link 但这会产生“o.getAttribute 不是函数”错误(flatpickr,第 2 行。)
    • 您能否在代码 sn-p 或 jsfiddle 上重新创建您的问题,因为我在共享链接上看不到任何 html
    • 见上面我更新的问题。 <input class="ui-date flatpickr-input" type="text" value="22-08-2018" name="medereiziger[954][geboortedatum]" id="f-birthday-3" readonly="readonly"> 是来自 clone.find(".ui-date"); 的元素
    猜你喜欢
    • 2012-12-21
    • 2016-06-21
    • 2014-01-04
    • 2016-02-01
    • 1970-01-01
    • 2012-09-22
    • 2021-12-31
    • 1970-01-01
    • 2019-04-27
    相关资源
    最近更新 更多