原代码太长了我节选了一部份
<script language=javascript>
function toDate(year,month,day){
  var vYear=parseInt(year.options[year.selectedIndex].text);
  var vMonth=parseInt(month.options[month.selectedIndex].text);
  day.length=0;
  for(i=0;i<(new Date(vYear,vMonth,0)).getDate();i++)
   {
day.options[day.length++].value = day.length;
      day.options[day.length-1].text = day.length;
    }

}
function display()  
{
  
  document.write("<div style='position:absolute'>");
  document.write("<span style='margin-left:30px; width:18px; overflow:hidden; position:absolute;'>");
  document.write("<select id ='"+this.selyear+"'  onchange='this.parentNode.nextSibling.value=this.value'  style='width:48px;margin-left:-30px'>");
  for(var i = 2002;i<=2008;i++)
  {
     
         document.write("<option value='" + i + "'>"+i+"</option>");
    }
  document.write("</select>");
  document.write("</span>");
  document.write("<input style='width:40px;position:absolute;left:0px;' >");
  document.write("</div>");
  document.write("<span style='width:15px;height:18px;font-size:14px;margin-left:50px;margin-top:3px;border:0px;'>年</span>");
  document.write("<div style='position:absolute;'>");
  document.write("<span style='margin-left:20px;width:18px;overflow:hidden;position:absolute;'>");
  document.write("<select id='"+this.selmonth+"'  onchange='this.parentNode.nextSibling.value=this.value;toDate(document.all(this.selyear),document.all(this.selmonth),document.all(this.selday)); '   style='width:38px;margin-left:-20px'>");
  for(var j = 1; j <= 12; j++)
   {
      document.write("<option value='" + j + "'>" + j + "</option>"); 
  }
  document.write("</select>");
  document.write("</span>");
  document.write("<input style='width:30px;position:absolute;' >");
  document.write("</div>");
  document.write("<span style='width:15px;height:18px;font-size:14px;margin-left:40px;margin-top:3px;border:0px;'>月</span>");
  
  document.write("<div style='position:absolute;'>");
  document.write("<span style='margin-left:20px;width:18px;overflow:hidden;position:absolute;'>");
  document.write("<select id ='"+this.selday+"'  onchange='this.parentNode.nextSibling.value=this.value' style='width:38px;margin-left:-20px;'>");
 
     document.write("</select>");
  document.write("</span>");
  
  document.write("<input style='width:30px;position:absolute;left:0px;'>");
}
function dateSelector() 
{
 
  
  this.selyear = '';  
  this.selmonth ='';  
  this.selday = '';  
  this.display = display;  }
  </script>
<script language=javascript>
 var myDate=new dateSelector();
 
 myDate.selyear='year'; //日
 myDate.selmonth='month'; //日
  myDate.selday='day'; //日
 myDate.display();
</script>

解决方案 »

  1.   

    function toDate(year,month,day){
      var vYear=parseInt(year.options[year.selectedIndex].text);
      var vMonth=parseInt(month.options[month.selectedIndex].text);
      day.length=0;
      for(i=0;i<(new Date(vYear,vMonth,0)).getDate();i++)
       {
          var obj1 = eval(day.options[day.length++]);
                   obj1.value = getTwo(day.length);
                   var obj2 = eval(day.options[day.length-1])
          obj2 .text = getTwo(day.length);
        }

    }
      

  2.   

    onchange='this.parentNode.nextSibling.value=this.value;toDate(document.all(this.selyear),document.all(this.selmonth),document.all(this.selday)); '   
    ===================================================================================>
    onchange='this.parentNode.nextSibling.value=this.value;toDate(document.all."+this.selyear+",document.all."+this.selmonth+",document.all."+this.selday+"); '
      

  3.   

    toDate()函数改为:
    function toDate(year,month,day){
    var yearObj=document.all.month;
    var monthObj=document.all.month;
    var dayObj=document.all.month;
      var vYear=parseInt(yearObj.options[yearObj.selectedIndex].value);
      var vMonth=parseInt(monthObj.options[monthObj.selectedIndex].value);
      day.length=0;
      for(i=0;i<(new Date(vYear,vMonth,0)).getDate();i++)
       {
        dayObj.options[dayObj.length++].value = dayObj.length;
          dayObj.options[dayObj.length-1].text = dayObj.length;
        }

    }