JS实现年月日下拉框的联动

第一次写博客,刚学JS部分2天,新手写个年月日的下拉框。欢迎指正!

 <!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>年月日</title>

</head>

<body><select onchange="setday()" id="year"></select><select id="month" onchange="setday()"></select><select id="day" onchange="setday()"></select>
</body>
<script type="text/javascript">
 //把年份加载进去
   var year = document.getElementById("year");
   for(var i = 1900 ; i <=2016 ; i ++){
       var options = document.createElement("option");
       options.innerHTML = i;
       year.appendChild(options);  
    }
</script>          

<script type="text/javascript">     
    //把月份加载进去
   var month = document.getElementById("month");
   for(var i = 1 ; i <=12 ; i ++){
       var options = document.createElement("option");
       options.innerHTML = i;
       month.appendChild(options);         
    }       
</script>

<script type="text/javascript">     
    //把天数加载进去
   var day = document.getElementById("day");
   for(var i = 1 ; i <=31 ; i ++){
       var options = document.createElement("option");
       options.innerHTML = i;
       day.appendChild(options);           
    }       
</script>



<script type="text/javascript">

    //根据年份,判断该月的具体天数,分为闰年
     function setday(){
       var specialyear ; //闰年的容器

        var year = document.getElementById("year");
        var yearIndex = year.selectedIndex;//获取选择年份的位置
        var yearSelect = year.options[yearIndex].text;//获取具体的年份
        if((yearSelect%4==0 && yearSelect%100!=0) || yearSelect%400==0)
             specialyear=yearSelect;//记下闰年   
            // alert(specialyear);

     //获取选择的月份
     var month = document.getElementById("month");
     var monthIndex = month.selectedIndex;
     var monthSelect = month.options[monthIndex].text;  
    // alert(monthSelect);         

    //加载天数  
       var day = document.getElementById("day");
       day.options.length=0;
       //alert(monthSelect);
       if(monthSelect=='1'||monthSelect=='3'||monthSelect=='5'||monthSelect=='7'||monthSelect=='8'||monthSelect=='10'||monthSelect=='12'){//这里数字要加引号
       for(var i = 1 ; i <=31 ; i ++){
       var options = document.createElement("option");
       options.innerHTML = i ;
       day.appendChild(options); 
           }        
           }
        // alert("day22");   
       if(monthSelect=='2'||monthSelect=='4'||monthSelect=='6'||monthSelect=='9'&&monthSelect=='11'){
         if(yearSelect==specialyear && monthSelect=='2') {
         for(var i = 1 ; i <=28 ; i ++){
        var options = document.createElement("option");
        options.innerHTML = i ;
        day.appendChild(options);    
         }
             } else{
        for(var i = 1 ; i <=30 ; i ++){
        var options = document.createElement("option");
        options.innerHTML = i ;
        day.appendChild(options); 
             }               
                 }             
    }
     }
</script>
</html>

得到的结果如下:
这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值