自己写的日期联动菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <title>Untitled Document</title>

        <script type="text/javascript">

            var yearBegin = 1900;

            var today = new Date(); 

            var yearEnd = Number(today.getFullYear()); 

            var monthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

            var monthDaysP = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

            window.onload = function init()

            {

            initYear();

            initMonth();

            initDay();

            }

            function writeDate(year, month, day)//

            {

            if (year < yearBegin)

            {

            year = yearBegin;

            }

            else if (year > yearEnd)

            {

            year = yearEnd;

            }

            if (month >12 || month <1)

            {

            month = 1;

            }

            //做个日期合法检查

            if (IsPinYear(year))

            {

            if (monthDaysP[month-1] < day)

            {

            day = monthDaysP[month-1];

            }

            }

            else

            {

            if (monthDays[month-1] < day)

            {

            day = monthDays[month-1];

            }

            }

            var yearObj = document.getElementById(‘year’);

            var monthObj = document.getElementById(‘monthSelect’);

            var dayObj = document.getElementById(‘daySelect’);

            yearObj.selectedIndex = year - yearBegin;

            monthObj.selectedIndex = month-1;

            dayObj.selectedIndex = day-1;

            }

            

            function initYear()

            {

            var yearObj = document.getElementById(‘year’);

            var monthObj = document.getElementById(‘monthSelect’);

            var dayObj = document.getElementById(‘daySelect’);

            for(i=yearBegin; i<=yearEnd; i++)

            {

            yearObj.options.add(new Option(i, i));

            }

            }

            function initMonth() //

            {

            var yearObj = document.getElementById(‘year’);

            var monthObj = document.getElementById(‘monthSelect’);

            var dayObj = document.getElementById(‘daySelect’);

            for(i=1; i<=12; i++)

            {

            monthObj.options.add(new Option(i, i));

            }

            }

            function initDay()//设置日期

            {

            var dayObj = document.getElementById(‘daySelect’);

            var month = getSelMonth();

            var year = getSelYear();

            dayObj.options.length = 0;

            if (IsPinYear(year))

            {

            days = monthDaysP[month-1];

            for(i=1; i<=days; i++)

            {

            dayObj.options.add(new Option(i, i));

            }

            }

            else

            {

            days = monthDays[month-1];

            for(i=1; i<=days; i++)

            {

            dayObj.options.add(new Option(i, i));

            }

            }

            }

            function monthChange()

            {

            initDay();

            }

            function yearChange()//年份发生改变

            {

            initDay();

            }

            function getSelYear()//获得当前选择的年

            {

            var yearObj = document.getElementById(‘year’);

            var yearIndex=yearObj.selectedIndex;

            return yearObj.options[yearIndex].value;

            }

            function getSelMonth()//获得当前选择的月份

            {

            var monthObj = document.getElementById(‘monthSelect’);

            var monthIndex=monthObj.selectedIndex;

            return monthObj.options[monthIndex].value;

            }

            function IsPinYear(year)//判断是否闰平年

            { return(0 == year%4 && (year%100 !=0 || year%400 == 0))}

        </script>

    </head>

    <body>

        <select name="year" id="year" onchange="yearChange();">

        </select>

        <select name="monthSelect" id="monthSelect" onchange="monthChange();">

        </select>

        <select name="daySelect" id="daySelect">

        </select>

        <a href="javascript:writeDate(1987, 9, 7);">19870907</a>

        <a href="javascript:writeDate(2987, 9, 7);">不合法的日期29870907</a>

        <script type=‘text/javascript’>

            //<![CDATA[

            if (document.getElementById('processtime')) 

                document.getElementById('processtime').innerHTML = "<span class='runtimedisplay'>Run in 51 ms, 8 Queries, Gzip enabled.</span>";

            //]]>

        </script>

    </body>

</html>