您的位置:首页 > Web前端 > JavaScript

年月日三级联动

2006-05-05 07:40 113 查看
<html>

<head>

<script language="JavaScript"><!--
    function YYYYMMDDstart()
    {
     MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

     //先给年下拉框赋内容
     
     var y   = new Date().getFullYear();
     for (var i = (y-60); i < y+1; 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));

     document.form1.YYYY.value = y;
     document.form1.MM.value = new Date().getMonth() + 1;
     var n = MonHead[new Date().getMonth()];
     if (new Date().getMonth() ==1 && IsPinYear(YYYYvalue)) n++;
      writeDay(n); //赋日期下拉框Author:meizz
     document.form1.DD.value = new Date().getDate();
     }
     window.attachEvent("onload", YYYYMMDDstart);
     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;
     }
     function showBirthday()
     {
      document.form1.HiddenYear.value=document.form1.YYYY.value+"-"+document.form1.MM.value+"-"+document.form1.DD.value;
     }
    //--></script>
 </HEAD>

<body>

<form name=form1 method="post">

<select name="YYYY" onchange="YYYYDD(this.value);"><option>选择年</option>

<select name="MM" onchange="MMDD(this.value)"><option>选择月</option>

<select name="DD"><option>选择日</option>

</form>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息