javascript:Date篇之实现年、月、日下拉列表框的三级联动

<html>
  <head>
  </head>
  <body>
    <select id="y"></select><select id="m"></select><select id="d"></select>//下拉列表框
    <script type="text/javascript">
      function gerateOption(start,end,cur){//添加内容用,从start开始end结束,cur用来搞个预先选定的
        var s="";//弄个变量赋空值便于拼接
        for(var i=start;i<=end;i++){
          if(i==cur)
            s=s+"<option selected='selected'>"+i+"</option>";//selected表示预先选定该列表框
          else s=s+"<option>"+i+"</option>";
          }
        return s;
      }
      function getDays(year,month){//根据年和月计算相应的天数
        var d1=new Date();
        var d2=new Date();
        d1.setFullYear(year);
        d1.setMonth(month-1);
        d1.setDate(1);
        d2.setFullYear(year);
        d2.setMonth(month);
        d2.setDate(1);//利用月数差计算,相差1月
        return (d2-d1)/1000/60/60/24;//把毫秒转换成天数
      }
      var date=new Date();
      var yy=date.getFullYear(),mm=date.getMonth(),dd=date.getDate();//取当前的年、月、日
      var year=document.getElementById("y");//把列表框转换成一个变量
      var month=document.getElementById("m");
      var day=document.getElementById("d");
      year.innerHTML=gerateOption(1970,2050,yy);//用innerHTML向列表框添加内容,调用gerateOption()函数
      month.innerHTML=gerateOption(1,12,mm);
      day.innerHTML=gerateOption(1,getDays(yy,mm),dd);//日期特殊,先要计算出月份对应的天数,调用getDays()函数

      month.onchange=year.onchange=function(){//实现联动
        var a=year.value,b=month.value;//获取所选中的年、月列表框值
        day.innerHTML=gerateOption(1,getDays(a,b),dd);//计算出相对应的天数再添加
  }
    </script>
  </body>
</html>

 

转载于:https://my.oschina.net/u/3197752/blog/839888

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值