zoukankan      html  css  js  c++  java
  • 怎么生成年月日的下拉框

    HTML部分:

    <form name="reg_testdate">
    <select name="YYYY" onChange="YYYYDD(this.value)" style="30%;height:35px;">
    <option value="">请选择 年</option>
    </select>
    <select name="MM" onChange="MMDD(this.value)" style="30%;height:35px;">
    <option value="">选择 月</option>
    </select>
    <select name="DD" style="30%;height:35px;" >
    <option value="">选择 日</option>
    </select>
    </form>

    JS部分:

    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++) //以今年为准,前30年,后30年
    document.reg_testdate.YYYY.options.add(new Option(" "+ i +" 年", i));


    //赋月份的下拉框
    for (var i = 1; i < 13; i++)
    document.reg_testdate.MM.options.add(new Option(" " + i + " 月", i));

    document.reg_testdate.YYYY.value = y;
    document.reg_testdate.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.reg_testdate.DD.value = new Date().getDate();
    }
    if(document.attachEvent)
    window.attachEvent("onload", YYYYMMDDstart);
    else
    window.addEventListener('load', YYYYMMDDstart, false);

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

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

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

    1
  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/hulaoxi/p/7263044.html
Copyright © 2011-2022 走看看