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)之后添加函数;工作了,很高兴我能帮忙。实际上,我详细阐述了我的评论,并给出了答案。