日期:2014-05-16  浏览次数:20323 次

JS生成年月组合下拉框
<select name="F_Period">
<option value="">请选择时间段
<option value="">2007年05月
<option value="">2007年06月
<option value="">2007年07月
<option value="">2007年08月
<option value="">2007年09月
<option value="">2007年10月
<option value="">2007年11月
<option value="">2007年12月
<option value="">2008年01月
<option value="">2008年02月
<option value="">2008年03月
<option value="">2008年04月
<option selected value="">2008年05月
<option value="">2008年06月
<option value="">2008年07月
<option value="">2008年08月
<option value="">2008年09月
<option value="">2008年10月
<option value="">2008年11月
<option value="">2008年12月
<option value="">2009年01月
<option value="">2009年02月
<option value="">2009年03月
<option value="">2009年04月
<option value="">2009年05月</select>

如上所示,用JS生成当前月份前后十个月的日期选择,默认为当前月。
请问如何实现?

------解决方案--------------------
JScript code
 var Span=10;
  document.write("<select name='F_Period'>");
  document.write("<option>请选择时间段</option>");
  var NowDate=new Date();
  var StartDate=new Date();
  var EndDate=new Date();
  StartDate.setMonth(StartDate.getMonth()-Span);
  EndDate.setMonth(EndDate.getMonth()+Span+1);
  var Month,year;
  for(var d=StartDate;d<EndDate;d.setMonth(d.getMonth()+1))
  {
    Month=d.getMonth();
    year=d.getFullYear();
    if(NowDate.getMonth()==Month&&d.getFullYear()==year)
      document.write("<option value='' selected>"+year+"年"+((Month+1)<10?"0"+(Month+1):(Month+1))+"月</option>");
    else
      document.write("<option value=''>"+year+"年"+((Month+1)<10?"0"+(Month+1):(Month+1))+"月</option>");
  }
  document.write("</select>");

------解决方案--------------------
4楼正解。
找当当前日期的月份,然后 前后+10个月。