今天在工作又用到了关于 js 填充Select下拉框的问题,所以,简单写了一下,贴了出来,请高手给予评价! // /===========功能:填充年,月到下拉框============================================================= // ==========================填充年份,月份=========================================== // ---------填充年份,月份------- var y =<%= y %> ; // 后台取当前年份 var m =<%= m %> ; // 后台取当前月份 // ------------在onload()事件里加载-------- function AddYearMonth() ... { var objY=document.getElementById("clsBudgetYear"); //clsBudgetYear:选年的下拉框id var objM=document.getElementById("clsBudgetMonth"); //clsBudgetMonth:选月的下拉框id objY.length=0; //删除所有 //只可选择当前年、次年 for(i=0;i<2;i++) ...{ objY.add(new Option(y+i,y+i)); // 填充年 } for(var i=0;i<=12-m;i++) ...{ if(m+i<10) ...{ objM.add(new Option("0"+(m+i),"0"+(m+i))); //当月为一位数时:前加0 } else ...{ objM.add(new Option(m+i,m+i)); } } } // -----------当选择年改变时,填充月份--------------------- function ChageAddYearMonth() ... { var objY=document.getElementById("clsBudgetYear"); //clsBudgetYear:选年的下拉框id var objM=document.getElementById("clsBudgetMonth"); //clsBudgetMonth:选月的下拉框id objM.length=0; //删除所有 //当选择年为今年时 if(objY.options[objY.selectedIndex].value==y) ...{ for(var i=0;i<=12-m;i++) ...{ if(m+i<10) ...{ objM.add(new Option("0"+(m+i),"0"+(m+i))); //当月为一位数时:前加0 } else ...{ objM.add(new Option(m+i,m+i)); //填充月 } } } else ...{ for(var i=1;i<=12;i++) ...{ if(i<10) ...{ objM.add(new Option("0"+i,"0"+i)); //当月为一位数时:前加0 } else ...{ objM.add(new Option(i,i)); //填充月 } } } } (Aaron于2008-04-10整理编辑)