Javascript JQuery datepicker方法不适用于重复元素
我正在尝试使用JQuery教程指定的日期选择器添加日历对象。这是一个事件表单,我需要添加更多的事件来选择不同的事件日期,所以我要做的是复制表单中的元素以重用。这意味着日历输入标记也会被复制。但是,在执行此操作时,calendar datepicker方法将不会调用(或者至少不会弹出日历)。为什么会发生这种情况?我这里有代码:Javascript JQuery datepicker方法不适用于重复元素,javascript,jquery,html,calendar,datepicker,Javascript,Jquery,Html,Calendar,Datepicker,我正在尝试使用JQuery教程指定的日期选择器添加日历对象。这是一个事件表单,我需要添加更多的事件来选择不同的事件日期,所以我要做的是复制表单中的元素以重用。这意味着日历输入标记也会被复制。但是,在执行此操作时,calendar datepicker方法将不会调用(或者至少不会弹出日历)。为什么会发生这种情况?我这里有代码: <html> <head> <title>Calendar duplicate testing</titl
<html>
<head>
<title>Calendar duplicate testing</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<link rel="stylesheet" href="//jqueryui.com/resources/demos/style.css">
<script>
$(function() {
$( ".cal" ).datepicker();
});
function duplicateCalendar() {
var calendars = document.getElementsByClassName("calendarinstance");
var newcalendar = calendars[calendars.length - 1].cloneNode(true);
calendars[calendars.length - 1].appendChild(newcalendar);
}
</script>
</head>
<body>
<button type="button" onclick="duplicateCalendar();">Duplicate Calendar</button>
<br><br>
<div class="calendarinstance">
<img src="calendar.png" alt=""> Select Date: <input class="cal" type="text">
<br>
<hr>
<br>
<div>
</body>
</html>
日历重复测试
$(函数(){
$(“.cal”).datepicker();
});
函数duplicateCalendar(){
var calendars=document.getElementsByClassName(“calendarinstance”);
var newcalendar=calendars[calendars.length-1].cloneNode(true);
日历[calendars.length-1].appendChild(newcalendar);
}
复制日历
选择日期:
您可以在单击时看到此代码。我只是把日历对象,因为它是一个不工作的东西。提前感谢您对任何人的帮助 jQuery选择器
$(“.cal”).datepicker()代码>将仅选择同名多个类的第一个实例
看一看所有的课程
在duplicateCalendar()上调用此函数以及现有代码:
$(function() {
$( ".cal" ).each(function() {
$( this ).datepicker();
});
});
试试这个例子
<html>
<head>
<title>Calendar duplicate testing</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script>
</head>
<body>
<div class="calendarinstance">
Select Date: <input class="cal" id="cal" type="text" />
<input type="button" id="btClone" value="Clone it" style="float:right;" />
</div>
</body>
日历重复测试
选择日期:
脚本
<script>
$(document).ready(function () {
$("#cal").datepicker();
var iCnt = 1;
$('#btClone').on('click', function () {
$('#cal')
.clone(false)
.attr('id', 'cal' + iCnt)
.attr('class', 'cal')
.datepicker()
.appendTo(".calendarinstance");
iCnt = iCnt + 1;
});
});
</script>
$(文档).ready(函数(){
$(“#cal”).datepicker();
var-iCnt=1;
$('#btClone')。在('click',函数(){
$(“#cal”)
.clone(错误)
.attr('id','cal'+iCnt)
.attr('class','cal')
.datepicker()
.appendTo(“.calendarinstance”);
iCnt=iCnt+1;
});
});
我们正在使用JQuery.clone()。此外,我们还需要为每个新元素附加“datepicker()”方法。阅读更多关于