年月日三联动下拉框

news/2024/7/8 8:48:04

<HTML>
    <HEAD>
        <title>年月日三联动下拉框</title>
        <meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
        <meta name='author' content='http://singlepine.cnblogs.com/'>
    </HEAD>
    <body>
        <form name="form1">
            <select name="YYYY" οnchange="YYYYDD(this.value)">
                <option value="" selected>请选择 年</option>
            </select>
            <select name="MM" οnchange="MMDD(this.value)">
                <option value="" selected>选择 月</option>
            </select>
            <select name="DD">
                <option value="" selected>选择 日</option>
            </select>
        </form>
        <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-30); i < (y+30); i++) //以今年为准,前30年,后30年
                    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); //赋日期下拉框
                document.form1.DD.value = new Date().getDate();
            }
            if(document.attachEvent)
                window.attachEvent("onload", YYYYMMDDstart);
            else
                window.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>
    </body>
</HTML>

转载于:https://www.cnblogs.com/162134810/archive/2011/05/27/2059565.html


http://www.niftyadmin.cn/n/3390058.html

相关文章

Python 1-16 练习三

Python 1-16 练习三 一、判断季节 用户输入月份&#xff0c;判断这个月是哪个季节&#xff1f; 3&#xff0c;4&#xff0c;5月----春季 6&#xff0c;7&#xff0c;8----夏季 9&#xff0c;10&#xff0c;11—秋季 12&#xff0c;1&#xff0c;2----冬季 # 接收用户输入的月…

SQL学习笔记六联合结果集union

联合结果集新建临时工数据表CREATE TABLE T_TempEmployee (FIdCardNumber VARCHAR(20),FName VARCHAR(20),FAge int,PRIMARY KEY(FIdCardNumber));INSERT INTO T_TempEmployee(FIdCardNumber,FName,FAge) VALUES(1234567890121,Sarani,33);INSERT INTO T_TempEmployee(FIdCardN…

绿色tftp服务器:tftpd32的配置

嵌入式开发中少不了用到TFTP服务&#xff0c;它的功能主要是用来给目标板传输文件。 tftpd32.exe是现在最常用的TFTP服务器&#xff0c;今天就来介绍它的配置方法。 1.从这里 下载新版本tftpd32.exe 2.&#xff08;如系统为Vista或Win7&#xff0c;先右键单击tftpd32图标&…

Python 1-19 集合

Python 1-19 集合 集合&#xff08;set&#xff09;是一个无序的不重复元素序列。 创建集合&#xff0c;使用 { } 或者 set() &#xff0c;注意&#xff1a;创建一个空集合必须用 set() &#xff0c;因为 { } 是用来创建一个空字典。 parame {value01,value02,...} 或者 se…

Ambarella : 一家伟大的视频压缩处理芯片厂商

最近工作比较忙&#xff0c;没有好好的关注业界动态。今天首次听说Ambarella A5s&#xff0c;有种惊艳的感觉查其出身&#xff0c;才知道是Ambarella公司&#xff0c;一家位于加州Santa Clara的初创公司&#xff0c;主营H264压缩处理芯片。说是初创是相对于老牌芯片公司而言。S…

Python 1-22 测试

Python 1-22 测试 一、选择题&#xff08;共 50 小题&#xff09; 1、标识符不正确的是&#xff1a; A: _123 B: 变量x C: abc_123 D: 1_x2、描述不正确的是&#xff1a; A: Python 中单行注释以 # 开头 B: 多行注释用三个单引号 或者三个双引号 """ 将…

视频矩阵系统中三代OSD字符叠加技术全面解析

视频矩阵系统中三代OSD字符叠加技术全面解析 屏显信息更丰富 中文效果更出色 使用设置更灵活   ——视频矩阵系统中三代OSD字符叠加技术全面解析   前言&#xff1a;    在以矩阵为控制中枢的视频监控系统中&#xff0c;大量的视频信号需要在数目有限的监视器上以切…

cvs 使用规范

cvs 使用规范 命令 CVSROOT 环境变量CVSROOT决定了CVS的基本配置&#xff0c;包括验证方式&#xff0c;用户名&#xff0c;cvs服务器ip&#xff0c;cvs服务器商品以及仓库名称。 pserver: 目前的cvs服务器的验证方式是使用pserver密码验证。username: 需要预先获得用户名&#…