首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

发一个在前辈基础上修改的下拉时间代码(2个选择时间,到小时),好的话给顶一下,该怎么处理

2012-02-12 
发一个在前辈基础上修改的下拉时间代码(2个选择时间,到小时),好的话给顶一下htmlheadscriptlanguage

发一个在前辈基础上修改的下拉时间代码(2个选择时间,到小时),好的话给顶一下
<html>
<head>

<script       language= "JavaScript ">      
    function       initDate()       {      
    var       obj=document.all[ 'dateform '];      
    var       y=obj.year;      
    var       m=obj.month;      
    var       d=obj.date;    
    var       h=obj.hour;
    var       y1=obj.year1;      
    var       m1=obj.month1;      
    var       d1=obj.date1;    
    var       h1=obj.hour1;
    var       indexDate       =       new       Date();  
    for       (var       i=2005;i <2050;i++)       {      
    y.options.length=y.options.length+1;      
    y.options[y.options.length-1].text=y[y.options.length-1].value=i;      
    }    
    for       (var       i=2005;i <2050;i++)       {      
    y1.options.length=y1.options.length+1;      
    y1.options[y1.options.length-1].text=y1[y1.options.length-1].value=i;      
    }  
    y.value=2007;    
    for       (var       i=0;i <12;i++)       {      
    m.options.length=i+1;      
    m[i].value=i+1;      
    m.options[i].text=i+1;      
    }      
    m.value=1;      
    for       (var       i=0;i <12;i++)       {      
    m1.options.length=i+1;      
    m1[i].value=i+1;      
    m1.options[i].text=i+1;      
    }      
    for       (var       i=0;i <31;i++)       {      
    d.options.length=i+1;      
    d[i].value=i+1;      
    d.options[i].text=i+1;      
    }      
    d.value=1;  
    y1.value       =       indexDate.getYear();      
    m1.value       =       indexDate.getMonth()       +       1;      
    var       arrd       =       new       Array(31,28,31,30,31,30,31,31,30,31,30,31);      
    if       (y1.value       %       4       ==       0)       arrd[1]       =       29;      
    var       md       =       arrd[m1.value       -       1];      


    for       (var       i       =       0;       i       <       md;       i++)       {      
    d1.options.length=i+1;      
    d1[i].value=i+1;      
    d1.options[i].text=i+1;      
    }      
    d1.value       =       indexDate.getDate();  
    for       (var       i=0;i <24;i++)       {      
    h.options.length=i+1;      
    h[i].value=i;      
    h.options[i].text=i;      
    }      
    h.value=0;    
    for       (var       i=0;i <24;i++)       {      
    h1.options.length=i+1;      
    h1[i].value=i;      
    h1.options[i].text=i;      
    }      
    h1.value=0;
    }      
    function       setDate(obj)       {      
    var       y=obj.year.value;      
    var       m=obj.month.value;      
    var       d=obj.date;  
    var       arrd=new       Array(31,28,31,30,31,30,31,31,30,31,30,31);      
    if       (y%4==0)       arrd[1]=29;      
    var       md=arrd[m-1];      
    if       (d.options.length> md)       {      
    var       index=d.value;      
    d.options.length=md;      
    if       (index <md)       {      
    d.value=index;      
    }       else       {      
    d.value=md;      
    }      
    }      
    if       (d.options.length <md)       {      
    for       (var       i=d.options.length;i <md;i++)       {      
    d.options.length=d.options.length+1;      
    d[i].value=d.options[i].text=i+1;      
    }      
    }      
    }      
    function       setDate1(obj)       {      
    var       y1=obj.year1.value;      
    var       m1=obj.month1.value;      
    var       d1=obj.date1;  
    var       arrd=new       Array(31,28,31,30,31,30,31,31,30,31,30,31);      


    if       (y1%4==0)       arrd[1]=29;      
    var       md=arrd[m1-1];      
    if       (d1.options.length> md)       {      
    var       index=d1.value;      
    d1.options.length=md;      
    if       (index <md)       {      
    d1.value=index;      
    }       else       {      
    d1.value=md;      
    }      
    }      
    if       (d1.options.length <md)       {      
    for       (var       i=d1.options.length;i <md;i++)       {      
    d1.options.length=d1.options.length+1;      
    d1[i].value=d1.options[i].text=i+1;      
    }      
    }      
    }      
    </script>

</head>
    <body       onLoad= "initDate() ">      
    <form       name= "dateform ">      
    <select       name= "year "       onChange= "setDate(this.form) "> </select> 年      
    <select       name= "month "       onChange= "setDate(this.form) "> </select> 月      
    <select       name= "date "> </select> 日    
    <select       name= "hour "       onChange= "setDate(this.form) "> </select> 点
    <select       name= "year1 "       onChange= "setDate1(this.form) "> </select> 年      
    <select       name= "month1 "       onChange= "setDate1(this.form) "> </select> 月      
    <select       name= "date1 "> </select> 日    
    <select       name= "hour1 "       onChange= "setDate1(this.form) "> </select> 点
    </form>      
    </body>  
 
</html>


[解决办法]
简单月日联动:
<form>
<select name= "y " id= "y "> </select> 年
<select name= "m " onChange= "setday($( 'y ').value,$( 'm ').value, 'd ') "> </select> 月
<select name= "d "> </select> 日
</form>
<script type= "text/javascript ">
//这里是获取ID的函数
function $(obj){return document.getElementById(obj);}
//这里是联动
function setday(y,m,objid){
var day_num;
if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12){


day_num=31;
}else if(m==4 || m==6 || m==9 || m==11){
day_num=30;
}else{
day_num=y%4==0?(y%100==0?(y%400==0?28:29):28):29;
}
obj=$( 'd ');
obj.length = 0;
for(var i=1;i <=day_num;i++)obj.options[obj.length] = new Option(i,i, ' ', ' ');
}
//这里设置年
for(var i=2000;i <=2050;i++)$( 'y ').options[$( 'y ').length] = new Option(i,i, ' ', ' ');
//这里设置月
for(var i=1;i <=12;i++)$( 'm ').options[$( 'm ').length] = new Option(i,i, ' ', ' ');
</script>

热点排行