Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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
Javascript jquery ui日期选择器未出现在动态输入上_Javascript_Jquery_Jquery Ui_Events_Jquery Ui Datepicker - Fatal编程技术网

Javascript jquery ui日期选择器未出现在动态输入上

Javascript jquery ui日期选择器未出现在动态输入上,javascript,jquery,jquery-ui,events,jquery-ui-datepicker,Javascript,Jquery,Jquery Ui,Events,Jquery Ui Datepicker,我继承了一堆质量不同的代码,我正在修复一堆错误的东西。它所做的一件事是有一个表单输入表,其中一个使用jQueryUIDatePicker。还有一个按钮,用于在表的底部创建新行。新行的日期选择器从未出现 我在这里多次看到这个问题,但这些解决方案都不起作用。我正在把我现在拥有的东西放上去。我的小提琴在: 我的代码内容如下: tr.find(".datepicker").on("focusin",function() { console.log("got focus"); $(thi

我继承了一堆质量不同的代码,我正在修复一堆错误的东西。它所做的一件事是有一个表单输入表,其中一个使用jQueryUIDatePicker。还有一个按钮,用于在表的底部创建新行。新行的日期选择器从未出现

我在这里多次看到这个问题,但这些解决方案都不起作用。我正在把我现在拥有的东西放上去。我的小提琴在:

我的代码内容如下:

tr.find(".datepicker").on("focusin",function() {
    console.log("got focus");
    $(this).datepicker();

}); 

在on(“focusin”…)行中,我在控制台上看到“Get focus”,但从未看到datepicker出现。

当您创建datepicker实例时,jQuery为其分配一个ID,当您克隆它时,您正在复制它。而是通过以下方式动态创建datepicker实例:

$(document).on('focus', ".datepicker", function () {
    $(this).datepicker( "destroy" ).datepicker();
})


这将适用于动态创建的元素,jQuery将正确管理ID。

当您创建datepicker实例时,jQuery将为其分配一个ID,当您克隆它时,您将复制它。而是通过以下方式动态创建datepicker实例:

$(document).on('focus', ".datepicker", function () {
    $(this).datepicker( "destroy" ).datepicker();
})


这将适用于动态创建的元素,jQuery将正确管理ID。

当您克隆元素时,您也在克隆ID和ID必须是唯一的。@j08691但这并不能解决问题,对吗?@j809-不,但我下面的答案会;)当您克隆元素时,您也在克隆ID,ID必须是唯一的。@j08691但这并不能解决问题,对吗?@j809-不,但我下面的答案会;)这可能是有史以来最快的答案。我使用了datepicker(“destroy”).datepicker()的一个变体,它工作得非常好。我在数这个--谢谢@j08691,我修复了您的示例,当您第一次单击文本框并在“添加行”之后,它不起作用,请看一看,这可能是有史以来最快的答案。我使用了datepicker(“destroy”).datepicker()的一个变体,它工作得非常好。我在数这个--谢谢@j08691,我修复了您的示例,当您第一次单击文本框并在“添加行”之后,它不起作用,请查看