Javascript: 在下拉列表中选择年份和月份,然后判断是瑞年还是平年,在日日期得下拉列表中显示瑞年二月对应多少天,平年对应多少天。

来源:互联网 发布:广数车床g73编程实例 编辑:程序博客网 时间:2024/04/29 04:24

在下拉列表中选择年份和月份,然后判断是瑞年还是平年,在日日期得下拉列表中显示瑞年二月对应多少天,平年对应多少天。

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>选择日期</title><script type="text/javascript"> function YYYYMMDDstart(){MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];var y = 2014;for (var i = (y-30); i < (y+30); i++)document.form1.YYYY.options.add(new Option(" "+ i +" 年", i));for (var i = 1; i < 13; i++)document.form1.MM.options.add(new Option(" " + i + " 月", i));}if(document.attachEvent)window.attachEvent("onload", YYYYMMDDstart);elsewindow.addEventListener('load', YYYYMMDDstart, false);function YYYYDD(str) //年发生变化时日期发生变化(主要是判断闰平年){var MMvalue = document.form1.MM.options[document.form1.MM.selectedIndex].value;if (MMvalue == ""){ var e = document.form1.DD; optionsClear(e); return;}var n = MonHead[MMvalue - 1];if (MMvalue ==2 && IsPinYear(str)) n++;writeDay(n);}function MMDD(str) //月发生变化时日期联动{var YYYYvalue = document.form1.YYYY.options[document.form1.YYYY.selectedIndex].value;if (YYYYvalue == ""){ var e = document.form1.DD; optionsClear(e); return;}var n = MonHead[str - 1];if (str ==2 && IsPinYear(YYYYvalue)) n++;writeDay(n)}function writeDay(n) //据条件写日期的下拉框{var e = document.form1.DD; optionsClear(e);for (var i=1; i <(n+1); i++)e.options.add(new Option(" "+ i + " 日", i));}function IsPinYear(year)//判断是否闰平年{ return(0 == year%4 && (year%100 !=0 || year%400 == 0));}function optionsClear(e){e.options.length = 1;}</script></head><body><form name=form1><select name=YYYY onChange="YYYYDD(this.value)"><option value="">请选择年</option></select><select name=MM onChange="MMDD(this.value)"><option value="">选择月</option></select><select name=DD><option value="">选择日</option></select></form></body></html>


0 0
原创粉丝点击