js出生日期 年月日级联菜单示例代码


Posted in Javascript onJanuary 10, 2014

现在世界通用的公历(阳历)也经过一个长期演变的过程。我们先看,公历每个月的日数是固定的:"七前单大,八后双大"。也就是说,一、三、五、七、八、十、腊月(十二月)是31天,四、六、九、十一月是30天,只有二月,平年28天,闰年29天。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!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 runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   <select name=YYYY id="YYYY" onchange="YYYYMM(this.value)">
        <option value="">选择 年</option>
    </select>
    <select name=MM id="MM" onchange="MMDD(this.value)">
        <option value="">选择 月</option>
    </select>
    <select name=DD id="DD">
        <option value="">选择 日</option>
    </select>
    </div>
    <asp:HiddenField ID="hfValue" runat="server" />
    <asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click" />
    </form>
</body>
</html>
<script language="JavaScript"> 
<!--
    function getValue() {
        var year = document.getElementById("YYYY").options[document.getElementById("YYYY").selectedIndex].value;
        var month = document.getElementById("MM").options[document.getElementById("MM").selectedIndex].value;
        var day = document.getElementById("DD").options[document.getElementById("DD").selectedIndex].value;
        document.getElementById("hfValue").value = year+"-"+month+"-"+day;
    }
window.onload=function() {
    strYYYY = document.form1.YYYY.outerHTML;
    strMM = document.form1.MM.outerHTML;
    strDD = document.form1.DD.outerHTML;
    MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    //先给年下拉框赋内容
    var y = new Date().getFullYear();
    var str = strYYYY.substring(0, strYYYY.length - 9);
    for (var i = (y - 80); i < (y + 2); i++) //以今年为准,前30年,后30年
    {
        str += "<option value='" + i + "'> " + i + " 年" + "</option>\r\n";
    }
    document.form1.YYYY.outerHTML = str + "</select>";
    //赋月份的下拉框
    var str = strMM.substring(0, strMM.length - 9);
    for (var i = 1; i < 13; i++) {
        str += "<option value='" + i + "'> " + i + " 月" + "</option>\r\n";
    }
    document.form1.MM.outerHTML = str + "</select>";
    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();
}
function YYYYMM(str) //年发生变化时日期发生变化(主要是判断闰平年)
{
    var MMvalue = document.form1.MM.options[document.form1.MM.selectedIndex].value;
    if (MMvalue == "") {
        DD.outerHTML = strDD;
        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 (str == "") {
        DD.outerHTML = strDD;
        return;
    }
    var n = MonHead[str - 1];
    if (str == 2 && IsPinYear(YYYYvalue)) n++;
    writeDay(n)
}
function writeDay(n) //据条件写日期的下拉框
{
    var s = strDD.substring(0, strDD.length - 9);
    for (var i = 1; i < (n + 1); i++) s += "<option value='" + i + "'> " + i + " 日" +
"</option>\r\n";
    document.form1.DD.outerHTML = s + "</select>";
}
function IsPinYear(year) //判断是否闰平年
{
    return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0))
}
//-->
</script>

.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            btnSave.Attributes.Add("onclick", "getValue()");
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            Response.Write(hfValue.Value);
        }
    }
}
Javascript 相关文章推荐
利用JS实现浏览器的title闪烁
Jul 08 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 Javascript
node.js中的fs.readdirSync方法使用说明
Dec 17 Javascript
jQuery过滤选择器用法分析
Feb 10 Javascript
javascript原始值和对象引用实例分析
Apr 25 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
js实现精美的图片跟随鼠标效果实例
May 16 Javascript
Angularjs注入拦截器实现Loading效果
Dec 28 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
关于在Servelet中如何获取当前时间的操作方法
Jun 28 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
Jul 24 Javascript
JS实现根据出生年月计算年龄
Jan 10 #Javascript
javascript使用百度地图api和html5特性获取浏览器位置
Jan 10 #Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 #Javascript
深入理解JSON数据源格式
Jan 10 #Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 #Javascript
Script标签与访问HTML页面详解
Jan 10 #Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
Jan 10 #Javascript
You might like
PHP VS ASP
2006/10/09 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
javascript 自动填写表单的实现方法
2010/04/09 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
webpack3之loader全解析
2017/10/26 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
小程序如何支持使用 async/await详解
2019/09/12 Javascript
Python实现简单的可逆加密程序实例
2015/03/05 Python
Python下的subprocess模块的入门指引
2015/04/16 Python
python编码最佳实践之总结
2016/02/14 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
Django 重写用户模型的实现
2019/07/29 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
不到20行实现Python代码即可制作精美证件照
2020/04/24 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
2020/12/07 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
升职自荐信怎么写
2015/03/05 职场文书
让世界充满爱观后感
2015/06/10 职场文书
护理工作心得体会
2016/01/22 职场文书
2019消防宣传标语!
2019/07/10 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
JVM之方法返回地址详解
2022/02/28 Java/Android