Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title>Date Selector</title>
- </head>
- <body>
- <script>
- function clear(select) {
- for(var i = select.options.length - 1; i >= 0; i--) {
- select.remove(i);
- }
- }
- function createMonths() {
- var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
- var select = document.getElementById("month");
- for(var i = 0; i < 12; i++) {
- var option = document.createElement("option");
- option.text = months[i];
- select.add(option);
- }
- }
- function createDays(days) {
- var select = document.getElementById("day");
- var index = select.options.selectedIndex;
- if(index < 0) index = 0;
- if(index >= days) index = days - 1;
- clear(select);
- for(var day = 1; day <= days; day++) {
- var option = document.createElement("option");
- option.text = day;
- select.add(option);
- }
- select.options.selectedIndex = index;
- }
- function createYears(start, end) {
- var select = document.getElementById("year");
- for(var year = end; year >= start; year--) {
- var option = document.createElement("option");
- option.text = year;
- select.add(option);
- }
- }
- function leapYear(year) {
- if(year % 400 == 0) return true;
- if(year % 100 == 0) return false;
- return year % 4;
- }
- function update() {
- var month = document.getElementById("month").options.selectedIndex + 1;
- if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
- createDays(31);
- }
- else if(month == 4 || month == 6 || month == 9 || month == 11) {
- createDays(30);
- }
- else {
- var options = document.getElementById("year").options;
- var year = options[options.selectedIndex].text;
- if(leapYear(year)) {
- createDays(29);
- }
- else {
- createDays(28);
- }
- }
- }
- window.onload = function() {
- var today = new Date();
- var year = today.getFullYear();
- createMonths();
- createDays(31);
- createYears(year - 100, year);
- };
- </script>
- <select id="month" onchange="update()"></select>
- <select id="day"></select>
- <select id="year" onchange="update()"></select>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement