六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 122|回复: 0

日期三级联动 转载

[复制链接]

升级  17.33%

20

主题

20

主题

20

主题

秀才

Rank: 2

积分
76
 楼主| 发表于 2013-2-7 20:36:51 | 显示全部楼层 |阅读模式
来源:http://www.wangchao.net.cn/bbsdetail_876.html
<html>  <head>  <title>年月日三下拉框联动</title>  <meta http-equiv='Content-Type' content='text/html; charset=gb2312'>  </head>  <body >  <form name=form1>   起始时间:   <select name=SYear onchange="YYYYDD(this.value,document.form1.SMonth,document.form1.SDay)">   <option value="">年</option>   </select>年   <select name=SMonth onchange="MMDD(this.value,document.form1.SYear,document.form1.SDay)">   <option value="">月</option>   </select>月   <select name=SDay>   <option value="">日</option>   </select>日<br><br>   完成时间:   <select name=EYear onchange="YYYYDD(this.value,document.form1.EMonth,document.form1.EDay)">   <option value="">年</option>   </select>年   <select name=EMonth onchange="MMDD(this.value,document.form1.EYear,document.form1.EDay)">   <option value="">月</option>   </select>月   <select name=EDay>   <option value="">日</option>   </select>日    </form>  <script language="JavaScript"><!--function YYYYMMDDstart(form,year,month,day)  {   MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];   //先给年下拉框赋内容   var y = new Date().getFullYear();   for (var i = (y-30); i < (y+5); i++) //以今年为准,前30年,后30年   year.options.add(new Option(i,i));   //赋月份的下拉框   for (var i = 1; i < 13; i++)   month.options.add(new Option(i,i));   year.value = y;   month.value = new Date().getMonth() + 1;   var n = MonHead[new Date().getMonth()];   if (new Date().getMonth() ==1 && IsPinYear(year.options[year.selectedIndex].value)) n++;   writeDay(n,day); //赋日期下拉框Author:meizz   day.value = new Date().getDate();  }  function YYYYDD(str,month,day) //年发生变化时日期发生变化(主要是判断闰平年)  {   var MMvalue = month.options[month.selectedIndex].value;   if (MMvalue == "" ){ var e = day; optionsClear(e); return;}   var n = MonHead[MMvalue - 1];   if (MMvalue ==2 && IsPinYear(str)) n++;   writeDay(n,day)  }  function MMDD(str,year,day) //月发生变化时日期联动  {   var YYYYvalue = year.options[year.selectedIndex].value;   if (YYYYvalue == "" ){ var e = day; optionsClear(e); return;}   var n = MonHead[str - 1];   if (str ==2 && IsPinYear(YYYYvalue)) n++;   writeDay(n,day)  }  function writeDay(n,day) //据条件写日期的下拉框  {   var e = day; 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)  {   for (var i=e.options.length; i>0; i--)   e.remove(i);  }  //--></script> </body></html> 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表