<html>
<head>
<script language="JavaScript">
<!--
var objReport=null;
var objYear=null;
var objMonth=null;
var objDate=null;
/*
 *页面初始化
 */
function init(name){
var dlts = document.getElementsByName(name);
objReport=dlts[0];
objYear=dlts[1];
objMonth=dlts[2];
objDate=dlts[3];
objReport.attachEvent("onchange",RptChg);
objYear.attachEvent("onchange",YearChg);
objMonth.attachEvent("onchange",MonthChg);
var date = new Date();
var curYear=date.getYear();
var curMonth=date.getMonth()+1;
var curDate=date.getDate();
if(objYear == null || objMonth == null || objDate == null ){
alert("Can't find object!"); 
return false;
}
var str="";
optAdd(objReport,"年报");
optAdd(objReport,"月报");
optAdd(objReport,"日报");
initDltValue(objYear,1990,2050);
initDltValue(objMonth,1,12);
initDltValue(objDate,1,CalDays(curYear,curMonth));
objReport.value="日报";
objYear.value=curYear;
objMonth.value=curMonth;
objDate.value=curDate;} 
/*
 *添加select的option值
 */
function initDltValue(obj,min,max){
for(var i=min;i<=max;i++)
optAdd(obj,i);
}
/*
 *当报表类型改变的时候
 */
function RptChg(){
switch(objReport.options[objReport.selectedIndex].value){
case '年报':
setDisabled(false,true,true); break;
case '月报':
setDisabled(false,false,true); break;
case '日报':
setDisabled(false,false,false); break;
}
}
/*
 *当年份改变的时候
 */
function YearChg(){
var dateVal=objDate.value;
objDate.innerHTML="";
initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
objDate.value=dateVal;
if(objDate.selectedIndex==-1) objDate.selectedIndex=0;
}
/*
 *当月份改变的时候
 */
function MonthChg(){
objDate.innerHTML="";
initDltValue(objDate,1,CalDays(parseInt(objYear.value),parseInt(objMonth.value)));
}
/*
 *设置对象的disabled属性
 */
function setDisabled(a,b,c){
objYear.disabled=a;
objMonth.disabled=b;
objDate.disabled=c;
}
/*
 *为select对象添加option
 */
function optAdd(obj,val){
var newOpt=document.createElement("option");
obj.add(newOpt);
newOpt.value=val;
newOpt.text=val;
}
/*
 *根据年月计算天数
 */
function CalDays(year,mon){
var date= new Date(year,mon,0);
return date.getDate();}
//-->
</script>
</head>
<body onLoad="init('dltDate');">
<table cellpadding=0 cellspacing=0 border=0 width=400>
<tr>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
<td width="25%"><select name="dltDate" style="width:100%"></select></td>
</tr>
</table>
</body>
</html>

解决方案 »

  1.   

    <td height="36" width="47%" id="aa">
    <select id="year" name="year">
    <script>
    for (i=2006;i<2008;i++){
    if (i==new Date().getYear()){
    document.write('<option value='+i+' selected>'+i+'</option>')
    }else{
    document.write('<option value='+i+'>'+i+'</option>')}
    }
    </script></select>年<select id=month onchange=cday() name="month">
    <script>
    for (i=1;i<13;i++){
    if (i==new Date().getMonth()+1){
    document.write('<option value='+i+' selected>'+i+'</option>')
    }else{
    document.write('<option value='+i+'>'+i+'</option>')}
    }
    </script>
    </select>月<select id="date" name="date">
    </select>日<script>
    function cday(){
    var dopc='';
    for (i=1;i<=new Date(document.getElementById("year").options[document.getElementById("year").selectedIndex].innerText,document.getElementById("month").options[document.getElementById("month").selectedIndex].innerText,0).getDate();i++){
    if (i==new Date().getDate()){
    dopc+='<option  value='+i+' selected>'+i+'</option>';
    }else{
    dopc+='<option value='+i+'>'+i+'</option>';}
    }
    document.getElementById("date").outerHTML='<select id=date name=date>'+dopc+'</select>';
    }
    cday();
    </script></td>