js实现的年月日三级联动 博客分类: javascript J#IEFirefox浏览器IDEA
程序员文章站
2024-03-16 09:45:34
...
年默认加载到距离当前100年的年份,同时根据月份是否是闰年自动加载天数。。。 <table cellspacing="0" cellpadding="6" border="1"> <tr> <td> 出生日期: </td> <td bgcolor="#FFFFFF" class="td_left"> <select name="year" onchange="getDates()"> <script language="javascript" type="text/javascript"> var date=new Date(); var year=date.getYear(); //加载距离当前年份100年的所有年份。。。 for(var i=year;i>=year-100;i--){ document.write("<option value="+i+">"+i+"</option>"); } //创建option元素,并追加到指定select元素 function append(o,v){ var option=document.createElement("option"); option.value=v; option.innerText=v; o.appendChild(option); } //根据年月的值来加载日,判断了月份是否是闰年。。。 function getDates(){ var y=document.getElementsByName("year")[0].value; var m=document.getElementsByName("month")[0].value; var day=document.getElementsByName("day")[0]; day.innerHTML=""; if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12){ for(var j=1;j<=31;j++){ append(day,j); } } else if(m==4 || m==6 || m==9 || m==11){ for(var j=1;j<=30;j++){ append(day,j); } } else if(m==2){ var flag=true; flag=y%4==0&&y%100!=0||y%400==0; if(flag){ for(var j=1;j<=29;j++){ append(day,j); } } else{ for(var j=1;j<=28;j++){ append(day,j); } } } } </script> </select> 年 <select name="month" onchange="getDates()"> <script language="javascript" type="text/javascript"> for(var i=1;i<=12;i++){ document.write("<option value="+i+">"+i+"</option>"); } </script> </select> 月 <select name="day"> <script language="javascript" type="text/javascript"> for(var i=1;i<=31;i++){ document.write("<option value="+i+">"+i+"</option>"); } </script> </select> 日 </td> </tr> </table>