js出生日期年月日级联菜单示例代码
现在世界通用的公历(阳历)也经过一个长期演变的过程。我们先看,公历每个月的日数是固定的:"七前单大,八后双大"。也就是说,一、三、五、七、八、十、腊月(十二月)是31天,四、六、九、十一月是30天,只有二月,平年28天,闰年29天。
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs"Inherits="WebApplication1.WebForm1"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
</head>
<body>
<formid="form1"runat="server">
<div>
<selectname=YYYYid="YYYY"onchange="YYYYMM(this.value)">
<optionvalue="">选择年</option>
</select>
<selectname=MMid="MM"onchange="MMDD(this.value)">
<optionvalue="">选择月</option>
</select>
<selectname=DDid="DD">
<optionvalue="">选择日</option>
</select>
</div>
<asp:HiddenFieldID="hfValue"runat="server"/>
<asp:ButtonID="btnSave"runat="server"Text="保存"onclick="btnSave_Click"/>
</form>
</body>
</html>
<scriptlanguage="JavaScript">
<!--
functiongetValue(){
varyear=document.getElementById("YYYY").options[document.getElementById("YYYY").selectedIndex].value;
varmonth=document.getElementById("MM").options[document.getElementById("MM").selectedIndex].value;
varday=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];
//先给年下拉框赋内容
vary=newDate().getFullYear();
varstr=strYYYY.substring(0,strYYYY.length-9);
for(vari=(y-80);i<(y+2);i++)//以今年为准,前30年,后30年
{
str+="<optionvalue=""+i+"">"+i+"年"+"</option>\r\n";
}
document.form1.YYYY.outerHTML=str+"</select>";
//赋月份的下拉框
varstr=strMM.substring(0,strMM.length-9);
for(vari=1;i<13;i++){
str+="<optionvalue=""+i+"">"+i+"月"+"</option>\r\n";
}
document.form1.MM.outerHTML=str+"</select>";
document.form1.YYYY.value=y;
document.form1.MM.value=newDate().getMonth()+1;
varn=MonHead[newDate().getMonth()];
if(newDate().getMonth()==1&&IsPinYear(YYYYvalue))n++;
writeDay(n);//赋日期下拉框
document.form1.DD.value=newDate().getDate();
}
functionYYYYMM(str)//年发生变化时日期发生变化(主要是判断闰平年)
{
varMMvalue=document.form1.MM.options[document.form1.MM.selectedIndex].value;
if(MMvalue==""){
DD.outerHTML=strDD;
return;
}
varn=MonHead[MMvalue-1];
if(MMvalue==2&&IsPinYear(str))n++;
writeDay(n)
}
functionMMDD(str)//月发生变化时日期联动
{
varYYYYvalue=document.form1.YYYY.options[document.form1.YYYY.selectedIndex].value;
if(str==""){
DD.outerHTML=strDD;
return;
}
varn=MonHead[str-1];
if(str==2&&IsPinYear(YYYYvalue))n++;
writeDay(n)
}
functionwriteDay(n)//据条件写日期的下拉框
{
vars=strDD.substring(0,strDD.length-9);
for(vari=1;i<(n+1);i++)s+="<optionvalue=""+i+"">"+i+"日"+
"</option>\r\n";
document.form1.DD.outerHTML=s+"</select>";
}
functionIsPinYear(year)//判断是否闰平年
{
return(0==year%4&&(year%100!=0||year%400==0))
}
//-->
</script>
.aspx.cs
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
namespaceWebApplication1
{
publicpartialclassWebForm1:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
btnSave.Attributes.Add("onclick","getValue()");
}
protectedvoidbtnSave_Click(objectsender,EventArgse)
{
Response.Write(hfValue.Value);
}
}
}
相关文章
- 原生 JS 实现 HTML 转 Markdown ,html2md.js
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑(html2md.js 或 html2markdown.js)
- 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果详解编程语言
- 窗口没有提示自动关闭的js代码
- 纯js实现的论坛常用的运行代码的效果
- 常用JS加密编码算法代码
- IE浏览器兼容Firefox的JS脚本的代码
- 很全的显示阴历(农历)日期的js代码
- 测试你的JS的掌握程度的代码
- JS在数组插入字符的实现代码(可参考JavaScriptsplice()方法)
- js各种验证文本框输入格式(正则表达式)
- 检测jQuery.js是否已加载的判断代码
- js禁止页面使用右键(简单示例代码)
- js输入框邮箱自动提示功能代码实现
- 不提示直接关闭网页窗口的JS示例代码
- js获取光标位置和设置文本框光标位置示例代码
- JS判断两个时间大小的示例代码
- js判断undefined类型示例代码
- JS弹出层单纯的绝对定位居中示例代码
- js文件Cookie存取值示例代码
- css结合js制作下拉菜单示例代码
- JS打印界面的CSS居中代码适用所有浏览器