给你看一下我以前写过的这个例子吧:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>日期选择</title>
<Script> 
function addDays()
{
var febdates,yearPart,monthPart,i,strHTML;
yearPart=parseInt(document.all.bYear.value);
monthPart=parseInt(document.all.bMonth.value);
i=1;
strHTML="<select name='bDay' id='bDay'  size='1'>";
while (monthPart==1 || monthPart==3 || monthPart==5 || monthPart==7 || monthPart==8 || monthPart==10 || monthPart==12)
{
while (i<=31)
    {
strHTML= strHTML + "<option value='"+i+"'>"+i+"</option>";
i++;
}
strHTML=strHTML + "</select>";
selection.innerHTML=strHTML;
break;
}
while (monthPart==4 || monthPart==6 || monthPart==9 || monthPart==11)
{
while (i<=30)
    {
strHTML= strHTML + "<option value='"+i+"'>"+i+"</option>";
i++;
}
strHTML=strHTML + "</select>";
selection.innerHTML=strHTML;
break;
}
while (monthPart==2)
{
if (yearPart % 4==0 && yearPart % 100 !=0 || yearPart % 400==0)
febdates=29;
else
febdates=28;
while (i<=febdates)
    {
strHTML= strHTML + "<option value='"+i+"'>"+i+"</option>";
i++;
}
strHTML=strHTML + "</select>";
selection.innerHTML=strHTML;
break;
}
}
</Script>
</head><body>
<table>
<tr>
<td>出生日期:  
<form name="frmdate">
<select name="bYear" size="1" id="bYear"  onchange="addDays();">
<Script> 
  date=new Date();
  tYear=date.getYear();
  i=tYear-25;
  document.write("<option></option> ");
  while (i<=tYear)
  {
document.write("<option value=\""+i+"\">"+i+"</option>");
i++;
  }
</Script>
</select> 
年  
<select name="bMonth" id="bMonth" size="1"  onchange="addDays();">
<Script> 
  i=1
  document.write("<option></option> ");
  while (i<=12)
  {
document.write("<option value=\""+i+"\">"+i+"</option>");
i++;
  }
</Script>
</select> 
月  
<span id="selection"><select id="bDay" name="bDay" size=1></select></span>
日</form>
</td></tr> 
</body>