• 前端代码下拉选择框显示年月日



    <body>

    <form name="date">
    <select name="year" οnchange="selectYear(this.value)">
    <option value="">选择 年</option>
    </select>
    <select name="month" οnchange="selectMonth(this.value)">
    <option value="">选择 月</option>
    </select>
    <select name="day">
    <option value="">选择 日</option>
    </select>
    </form>

    <script language="JavaScript">
    function dateStart()
    {
       //月份对应天数
        MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

    //给年下拉框赋内容
    var y = new Date().getFullYear();
    for (var i = (y-50); i < (y+50); i++) //以今年为准,前50年,后50年
        document.date.year.options.add(new Option(" "+ i +" 年", i));

    //给月下拉框赋内容
    for (var i = 1; i < 13; i++)
    document.date.month.options.add(new Option(" " + i + " 月", i));

    document.date.year.value = y;
    document.date.month.value = new Date().getMonth() + 1;
    var n = MonHead[new Date().getMonth()];
    if ( new Date().getMonth() ==1 && IsPinYear(yearvalue) )
         n++;
    writeDay(n); //赋日期下拉框
    document.date.day.value = new Date().getDate();
    }

    if(document.attachEvent)
    window.attachEvent("onload", dateStart);
    else
    window.addEventListener('load', dateStart, false);

    function selectYear(str) //年发生变化时日期发生变化(主要是判断闰平年)
    {
        var monthvalue = document.date.month.options[document.date.month.selectedIndex].value;
    if (monthvalue == "")
       {
         var e = document.date.day;
         optionsClear(e);
         return;
       }
    var n = MonHead[monthvalue - 1];
    if ( monthvalue ==2 && IsPinYear(str) )
         n++;
    writeDay(n);
    }

    function selectMonth(str) //月发生变化时日期联动
    {
    var yearvalue = document.date.year.options[document.date.year.selectedIndex].value;
    if (yearvalue == "")
        {
          var e = document.date.day;
          optionsClear(e);
          return;
        }
    var n = MonHead[str - 1];
    if ( str ==2 && IsPinYear(yearvalue) )
          n++;
         writeDay(n);
         }

    function writeDay(n) //据条件写日期的下拉框
    {
        var e = document.date.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)
       {
           e.options.length = 1;
       }
    </script>

    </body>

    ————————————————
    版权声明:本文为CSDN博主「abcnull」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/abcnull/java/article/details/79216551

  • 相关阅读:
    Java类变量和成员变量初始化过程
    Linux命令学习笔记
    gitlab本地部署方法(ubuntu16.04+gitlab9.5.5)
    Hanoi塔
    求递归算法时间复杂度:递归树
    最大堆/最小堆
    Matlab中plot基本用法
    这是一篇叼炸天的博客
    c++ static理解
    经典排序算法+文件操作~c语言实现
  • 原文地址:https://www.cnblogs.com/lsongyang/p/12674525.html
Copyright © 2020-2023  润新知