Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.04 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Date Selector</title>
  5. </head>
  6.  
  7. <body>
  8. <script>
  9. function clear(select) {
  10. for(var i = select.options.length - 1; i >= 0; i--) {
  11. select.remove(i);
  12. }
  13. }
  14.  
  15. function createMonths() {
  16. var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
  17. var select = document.getElementById("month");
  18. for(var i = 0; i < 12; i++) {
  19. var option = document.createElement("option");
  20. option.text = months[i];
  21. select.add(option);
  22. }
  23. }
  24.  
  25. function createDays(days) {
  26. var select = document.getElementById("day");
  27.  
  28. var index = select.options.selectedIndex;
  29. if(index < 0) index = 0;
  30. if(index >= days) index = days - 1;
  31.  
  32. clear(select);
  33. for(var day = 1; day <= days; day++) {
  34. var option = document.createElement("option");
  35. option.text = day;
  36. select.add(option);
  37. }
  38.  
  39. select.options.selectedIndex = index;
  40. }
  41.  
  42. function createYears(start, end) {
  43. var select = document.getElementById("year");
  44. for(var year = end; year >= start; year--) {
  45. var option = document.createElement("option");
  46. option.text = year;
  47. select.add(option);
  48. }
  49. }
  50.  
  51. function leapYear(year) {
  52. if(year % 400 == 0) return true;
  53. if(year % 100 == 0) return false;
  54. return year % 4;
  55. }
  56.  
  57. function update() {
  58. var month = document.getElementById("month").options.selectedIndex + 1;
  59.  
  60. if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
  61. createDays(31);
  62. }
  63. else if(month == 4 || month == 6 || month == 9 || month == 11) {
  64. createDays(30);
  65. }
  66. else {
  67. var options = document.getElementById("year").options;
  68. var year = options[options.selectedIndex].text;
  69.  
  70. if(leapYear(year)) {
  71. createDays(29);
  72. }
  73. else {
  74. createDays(28);
  75. }
  76. }
  77. }
  78.  
  79. window.onload = function() {
  80. var today = new Date();
  81. var year = today.getFullYear();
  82.  
  83. createMonths();
  84. createDays(31);
  85. createYears(year - 100, year);
  86. };
  87. </script>
  88.  
  89. <select id="month" onchange="update()"></select>
  90. <select id="day"></select>
  91. <select id="year" onchange="update()"></select>
  92. </body>
  93. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement