javascript源码:<script type="text/javascript" language="javascript" > var agt = navigator.userAgent.toLowerCase(); window.onload = function() { DateSeter(); } function DateSeter(){ var selYear= document.getElementById("LoftyYear"); var selMonth=document.getElementById("LoftyMonth"); var selDay=document.getElementById("LoftyDay"); var now=new Date(); var cYear=now.getFullYear(); SetCurrentYear(selYear,cYear); al(selYear,'change','SetCurrentYear(document.getElementById(/'LoftyYear/'))'); al(selMonth,'change','SetDay(null,null)'); for(i=1;i<=12;i++) { var op=new Option(i,i); selMonth.options.add(op); } var cMonth=now.getMonth()+1; SetDay(cYear,cMonth); selDay.selectedIndex=now.getDate()-1; }
function SetDay(year,month) { if(year==null){ var yy=document.getElementById('LoftyYear'); var mm=document.getElementById('LoftyMonth'); year=Math.round(yy.options[yy.selectedIndex].value); month=Math.round(mm.options[mm.selectedIndex].value); } var date=new Date(year,month,1); date.setDate(0); var maxdate=date.getDate(); var obj=document.getElementById('LoftyDay'); var seldate=obj.selectedIndex; if(obj.options.length>0){ if(Math.round(obj.options[obj.selectedIndex].value)>maxdate) { seldate=maxdate-1; } } reAppendSelect(obj,1,maxdate,seldate+1); } function SetCurrentYear(selecter,currYear) { if(currYear==null){ currYear=Math.round(selecter.options[selecter.selectedIndex].value); } reAppendSelect(selecter,currYear-10,currYear+10,currYear); } function reAppendSelect(selecter,startIndex,endIndex,selIndex) { while(selecter.options.length>0) { selecter.removeChild(selecter.options[selecter.options.length-1]); } for(i=startIndex;i<=endIndex;i++) { var op=new Option(i,i); selecter.options.add(op); op.selected=(selIndex==i); } } function al(obj,lissener,func){ if(agt.indexOf('firefox')!=-1){ obj.addEventListener(lissener,function(){eval(func);},false); }else{ obj.attachEvent('on'+lissener,function(){eval(func);}); } } </script>
页面源码:<select name="select" id="LoftyYear" > </select><asp:HiddenField ID="HiddenField2" runat="server" /> 年 <select name="select2" id="LoftyMonth"> </select> 月 <select name="select3" id="LoftyDay"> </select> 日
这里必须用HTML标签!
后置代码获取值的方法:
function SetValue() { var LoftyYear = document.getElementById("LoftyYear"); var LoftyMonth = document.getElementById("LoftyMonth"); var LoftyDay = document.getElementById("LoftyDay"); var hid2 = document.getElementById("<%=HiddenField2.ClientID %>"); for(i=0;i<LoftyYear.length;i++) { if(LoftyYear[i].selected==true) { var value1 = LoftyYear[i].innerText; hid2.value = value1; } } for(i=0;i<LoftyMonth.length;i++) { if(LoftyMonth[i].selected==true) { var value1 = LoftyMonth[i].innerText; hid2.value += "-" + value1; } } for(i=0;i<LoftyDay.length;i++) { if(LoftyDay[i].selected==true) { var value1 = LoftyDay[i].innerText; hid2.value += "-" + value1; } } }