Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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日期选择器不适用于多个实例_Javascript_Jquery_Datepicker - Fatal编程技术网

Javascript jQuery日期选择器不适用于多个实例

Javascript jQuery日期选择器不适用于多个实例,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,每次在谷歌地图中选择一个位置时,我都会尝试创建一个新的日期选择器 $(function(){$(".datepick").datepicker({ dateFormat : "yyyy-MM-dd" }); }); var tomakedate = document.getElementById("fordate"); 这是在html中添加新日期选择器的事件

每次在谷歌地图中选择一个位置时,我都会尝试创建一个新的日期选择器

           $(function(){$(".datepick").datepicker({
              dateFormat : "yyyy-MM-dd"
              }); 
           });

  var tomakedate = document.getElementById("fordate");
这是在html中添加新日期选择器的事件

                    selectedplacessize = selectedplaces.length;
                    inputcal = document.createElement("input");
                    inputcal.type = "text";
                    inputcal.name = "datepicker" + selectedplacessize;
                    inputcal.setAttribute("id","datepicker" + selectedplacessize);
                    inputcal.className = "datepick hasDatepicker";
                    tomakedate.appendChild(inputcal);
在浏览器中,我的html和新添加的日期选择器如下所示

         <td id="fordate"> <input type="text" id="inputlatlong" name="inputlatlong" hidden="">
         <input type="text" id="datepicker" name="datepicker" class="datepick hasDatepicker">
         <input type="text" name="datepicker1" id="datepicker1" class="datepick hasDatepicker"></td>

id为#datepicker的输入元素将在页面加载时出现。每次在谷歌地图上选择一个地点,就会添加另一个类为“datepick”的输入类型。 浏览器的inspect元素中没有错误或警告

编辑:我已尝试替换该行:

inputcal.className=“datepick hasDatepicker”;与

inputcal.className=“datepick”

它仍然不工作。

您正在执行
$('.datepick').datepicker()在这些类为
datepick
的元素存在之前。在这行代码之后添加的新元素将不会转换为日期选择器,因为它只引用在该时刻满足选择器的元素

我喜欢用这样的比喻来比喻百货公司:

假设你在一家百货公司工作。你的经理说“去把玩具部的所有东西都贴上红色的标签”——你就是这么做的。第二天,100个新玩具进来了。立即,你的经理走到你面前,问你:“为什么新玩具上没有红色的标签?”

这和你在这里问的很相似。您正在将当前
.datepick
中的所有元素转换为日期选择器,但在创建新元素时,您不会转换它们

通过执行以下操作,可以修改代码,使元素在创建时成为日期选择器:

selectedplacessize = selectedplaces.length;
inputcal = document.createElement("input");
inputcal.type = "text";
inputcal.name = "datepicker" + selectedplacessize;
inputcal.setAttribute("id","datepicker" + selectedplacessize);     
inputcal.className = "datepick hasDatepicker";
tomakedate.appendChild(inputcal);

$inputcal = $(inputcal);
$inputcal.datepicker({dateFormat : "yyyy-MM-dd"}); 

谢谢!!在tomakedate.appendChild(inputcal)之后添加函数;工作了,很高兴我能帮忙。实际上,我详细阐述了我的评论,并给出了答案。