联动的日期下拉列表,兼容IE,FF

 测试浏览器:IE7,FF3

JS代码

  1. var  dangQian = 31;
  2.              function  setDay(){
  3.                  var  year = parseInt(document.getElementById( 'year' ).value);  //当前年
  4.                  var  month = parseInt(document.getElementById( 'month' ).value);  //当前月
  5.                  var  oDay = document.getElementById( 'day' );
  6.                  var  days = [31,28,31,30,31,30,31,31,30,31,30,31];  //一年中各月天数
  7.                  if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){  //闰年
  8.                     days[1] = 29;  //闰年2月29天
  9.                 }
  10.                  var  day = days[month - 1];  //本月天数
  11.                  while (dangQian > day){  //大于本月天数隐藏
  12.                     oDay.removeChild(document.getElementById( 'day'  + dangQian));
  13.                     dangQian--;
  14.                 }
  15.                  while (day > dangQian){  //小于等于本月天数显示
  16.                     dangQian++;
  17.                      var  option =  new  Option(dangQian,dangQian);  //注意select动态添加option的方法
  18.                     option.id =  'day'  + dangQian;
  19.                     oDay.options[oDay.options.length] = option;  //注意select动态添加option的方法
  20.                 }
  21.             }
  22.             
  23.              function  addOnload(fn){
  24.                  if ( typeof (fn) !=  'function'return   false ;
  25.                  var  _onload = (window.onload &&  typeof (window.onload) ==  'function' ) ? window.onload :  null ;
  26.                 window.onload =  function (){ if (_onload)_onload();fn();};
  27.             }
  28.             addOnload(setDay);

jsp代码片段:

  1. <select name= "year"  id= "year"  οnchange= "setDay()" >
  2.                                 <% for ( int  i =  0 ,len =  10 ; i < len; i++){%>
  3.                                     <option value= "<%=y-i %>"  <% if (y-i == year){out.print( "selected" );} %>><%=y-i %></option>
  4.                                 <%}%>
  5.                                 </select>
  6.                                 <select name= "month"  id= "month"  οnchange= "setDay()" >
  7.                                 <% for ( int  i =  0 ,len =  12 ; i < len; i++){%>
  8.                                     <option value= "<%=(i+1)<10?" 0 "+(i+1):(i+1) %>"  <% if (i+ 1  == month){out.print( "selected" );} %>><%=i+ 1  %></option>
  9.                                 <%}%>
  10.                                 </select>
  11.                                 <select name= "day"  id= "day" >
  12.                                 <% for ( int  i =  0 ,len =  31 ; i < len; i++){%>
  13.                                     <option id= "day<%=(i+1) %>"  value= "<%=(i+1)<10?" 0 "+(i+1):(i+1) %>"  <% if (i+ 1  == day){out.print( "selected" );} %>><%=i+ 1  %></option>
  14.                                 <%}%>
  15.                                 </select>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值