编辑:我能够在克隆表单元素上获取日期选择器,但是当我选择日期时,日期将填充在第一个div表单元素上,而不是克隆表单元素
我在克隆表单元素上显示日期选择器时遇到问题。
我初始化了一个div(PopupReset div中有一个jsp表单)。
当点击一个按钮时,我正在复制并在另一个名为" Popup"的div中显示PopupReset的内容。作为模态对话框。
<div id="PopupReset" style="display:none;">
<jsp:include page="Popup.jsp"></jsp:include>
</div>
<div id="Popup" style="display:none"></div>
当我查看源代码时,两个div中的datepicker看起来都一样。 但是,datepicker正在开发第一个div&#34; PopupReset&#34;因为它不是工作模式对话框,它具有&#34; PopupReset&#34;的副本。 HTML
<input type="text" name="enteredOn" size="10" maxlength="10" value="" id="_enteredOn"
class="enterDate hasDatepicker">
jQuery( ".enterDate" ).datepicker({
showOn: "focus",
changeMonth: true,
changeYear: true,
dateFormat: dateFormat(),
yearRange: "1901:-0"
});
由于对要求的某些限制,我正在克隆表格。
请分享有关如何解决此问题的任何想法。
感谢您的帮助!
谢谢你, 斯
答案 0 :(得分:0)
你没有包含javascript调用来初始化datepicker,但我想问题是第二个datepicker是动态创建的。在这种情况下,您必须调整javascript / jQuery,例如像这样:
$('body').on('click',".enterDate", function(){
$(this).datepicker();
});
这称为事件委托:click-event绑定到body-element,它将click-event委托给所有带有类&#34; datepicker&#34;的元素,即使它们不是出现在实际文件中,但稍后补充。
更新:将班级名称调整为已调整问题的班级名称。
答案 1 :(得分:0)
编辑:我能够在克隆表单元素上获取日期选择器,但是当我选择日期时,日期将填充在第一个div表单元素上,而不是克隆表单元素
$(".enterDate").removeClass('hasDatepicker').datepicker();
为我工作。
参考: Why does jQuery UI's datepicker break with a dynamic DOM?
谢谢Kishore我赞成你的回答,谢谢你matthia_h