-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathmultiple-dates.html
82 lines (66 loc) · 2.86 KB
/
multiple-dates.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sample for the multiple dates feature</title>
<!-- calendar stylesheet -->
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />
<!-- main calendar program -->
<script type="text/javascript" src="calendar.js"></script>
<!-- language for the calendar -->
<script type="text/javascript" src="lang/calendar-en.js"></script>
<!-- the following script defines the Calendar.setup helper function, which makes
adding a calendar a matter of 1 or 2 lines of code. -->
<script type="text/javascript" src="calendar-setup.js"></script>
</head>
<body>
<h1>Sample for the multiple dates feature</h1>
<p>
Starting version 0.9.7,
the calendar is able to handle multiple dates selection, in either
flat or popup form. For this to happen one needs to pass the
"<tt>multiple: true</tt>" parameter to
<tt>Calendar.setup</tt> and to install an <tt>onUpdate</tt>
handler that watches for modifications.
</p>
<a id="trigger" href="#">[open calendar...]</a>
<div id="output"></div>
<script type="text/javascript">//<![CDATA[
// the default multiple dates selected, first time the calendar is instantiated
var MA = [];
function closed(cal) {
// here we'll write the output; this is only for example. You
// will normally fill an input field or something with the dates.
var el = document.getElementById("output");
// reset initial content.
el.innerHTML = "";
// Reset the "MA", in case one triggers the calendar again.
// CAREFUL! You don't want to do "MA = [];". We need to modify
// the value of the current array, instead of creating a new one.
// Calendar.setup is called only once! :-) So be careful.
MA.length = 0;
// walk the calendar's multiple dates selection hash
for (var i in cal.multiple) {
var d = cal.multiple[i];
// sometimes the date is not actually selected, that's why we need to check.
if (d) {
// OK, selected. Fill an input field. Or something. Just for example,
// we will display all selected dates in the element having the id "output".
el.innerHTML += d.print("%A, %Y %B %d") + "<br />";
// and push it in the "MA", in case one triggers the calendar again.
MA[MA.length] = d;
}
}
cal.hide();
return true;
};
Calendar.setup({
align : "BR",
showOthers : true,
multiple : MA, // pass the initial or computed array of multiple dates to be initially selected
onClose : closed,
button : "trigger"
});
//]]></script>
<hr />
<address><a href="http://dynarch.com/mishoo/">mishoo</a></address>
<!-- hhmts start --> Last modified: Thu Mar 3 20:17:42 EET 2005 <!-- hhmts end -->
</body> </html>