//-----------------------------年 月 日---------------------------------------------------
var by = fm.birthYear,
bm = fm.birthMonth,
bd = fm.birthDay;
//当用户先选了月的时候 要根据年来改变日
by.onchange =function () {
var y = +this.value,m=bm.value;
if(m!=2){
return;
}
if(isoverYear(y) && bd.options.length!=30){
bd.options.length=29;
bd.add(new Option(29,29),null);
}else if(bd.options.length!=29){
bd.options.length=29;
}
};
//显示年 你想显示多少就更改1980和2000就可以了 其实你要实现其他的就更改这里就可以了 其它都做好了
for(var i = 1980;i<=2000;i++){
by.add(new Option(i,i),null);
}
//月 根据月 平年闰年 来做日
for(var i=1;i<13;i++){
bm.add(new Option(i,i),null);
}
var m30 = {4:1,6:1,9:1,11:1};
bm.onchange=function () {
var m= this.value;
bd.options.length=1;
if(m==2){
var y=+by.value,d;
if(!y || isoverYear(y)){
d = 29;
}else d = 28;
for(i = 1;i<=d;i++){
bd.add(new Option(i,i),null);
}
}else if(m in m30){
for(i = 1;i<31;i++){
bd.add(new Option(i,i),null);
}
} else{
for(i = 1;i<=31;i++){
bd.add(new Option(i,i),null);
}
}
}
//判断是不是闰年 闰年 能被4整除 不能被100整除 29天
function isoverYear(y) {
return (y%4 ==0 && y%100 !==0) || y%400==0;
}