js实现日期下拉框.docx
《js实现日期下拉框.docx》由会员分享,可在线阅读,更多相关《js实现日期下拉框.docx(28页珍藏版)》请在冰豆网上搜索。
js实现日期下拉框
HTML代码
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
show_cele_date(d,'','',d)">JS代码//日历vardate_start,date_end,g_objectvartoday=newDate();varseparator="-";varinover=false;//mode:时间变换的类型0-年1-月2-直接选择月functionchange_date(temp,mode){vart_month,t_yearif(mode){if(mode==1)t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10);elset_month=parseInt(temp)if(t_monthcele_date_month.value=cele_date_month.options(cele_date_month.length-1).text;change_date(parseInt(cele_date_year.value,10)-1,0);}else{if(t_month>cele_date_month.options(cele_date_month.length-1).text){cele_date_month.value=cele_date_month.options(0).text;change_date(parseInt(cele_date_year.value,10)+1,0);}else{cele_date_month.value=t_month;set_cele_date(cele_date_year.value,cele_date_month.value);}}}else{t_year=parseInt(temp,10);if(t_yearcele_date_year.value=cele_date_year.options(0).text;set_cele_date(cele_date_year.value,1);}else{if(parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10)){cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;set_cele_date(cele_date_year.value,12);}else{cele_date_year.value=t_year;set_cele_date(cele_date_year.value,cele_date_month.value);}}}/*********2002-02-01MODIFYBYWING**************/window.cele_date.focus();/****************MODIFYEND***********************/}//初始化日历functioninit(d_start,d_end){vartemp_str;vari=0varj=0date_start=newDate(1980,7,1)date_end=newDate(2004,8,1)document.writeln("none\"style=\"LEFT:69px;POSITION:absolute;TOP:159px;Z-INDEX:99\"onClick=\"event.cancelBubble=true;\"onBlur=\"hilayer()\"onMouseout=\"lostlayerfocus()\">-
show_cele_date(d,'','',d)">
JS代码
//日历
vardate_start,date_end,g_object
vartoday=newDate();
varseparator="-";
varinover=false;
//mode:
时间变换的类型0-年1-月2-直接选择月
functionchange_date(temp,mode)
{
vart_month,t_year
if(mode){
if(mode==1)
t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10);
else
t_month=parseInt(temp)
if(t_monthcele_date_month.value=cele_date_month.options(cele_date_month.length-1).text;change_date(parseInt(cele_date_year.value,10)-1,0);}else{if(t_month>cele_date_month.options(cele_date_month.length-1).text){cele_date_month.value=cele_date_month.options(0).text;change_date(parseInt(cele_date_year.value,10)+1,0);}else{cele_date_month.value=t_month;set_cele_date(cele_date_year.value,cele_date_month.value);}}}else{t_year=parseInt(temp,10);if(t_yearcele_date_year.value=cele_date_year.options(0).text;set_cele_date(cele_date_year.value,1);}else{if(parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10)){cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;set_cele_date(cele_date_year.value,12);}else{cele_date_year.value=t_year;set_cele_date(cele_date_year.value,cele_date_month.value);}}}/*********2002-02-01MODIFYBYWING**************/window.cele_date.focus();/****************MODIFYEND***********************/}//初始化日历functioninit(d_start,d_end){vartemp_str;vari=0varj=0date_start=newDate(1980,7,1)date_end=newDate(2004,8,1)document.writeln("none\"style=\"LEFT:69px;POSITION:absolute;TOP:159px;Z-INDEX:99\"onClick=\"event.cancelBubble=true;\"onBlur=\"hilayer()\"onMouseout=\"lostlayerfocus()\">-
cele_date_month.value=cele_date_month.options(cele_date_month.length-1).text;
change_date(parseInt(cele_date_year.value,10)-1,0);
}
else{
if(t_month>cele_date_month.options(cele_date_month.length-1).text){
cele_date_month.value=cele_date_month.options(0).text;
change_date(parseInt(cele_date_year.value,10)+1,0);
{cele_date_month.value=t_month;
set_cele_date(cele_date_year.value,cele_date_month.value);
t_year=parseInt(temp,10);
if(t_yearcele_date_year.value=cele_date_year.options(0).text;set_cele_date(cele_date_year.value,1);}else{if(parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10)){cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;set_cele_date(cele_date_year.value,12);}else{cele_date_year.value=t_year;set_cele_date(cele_date_year.value,cele_date_month.value);}}}/*********2002-02-01MODIFYBYWING**************/window.cele_date.focus();/****************MODIFYEND***********************/}//初始化日历functioninit(d_start,d_end){vartemp_str;vari=0varj=0date_start=newDate(1980,7,1)date_end=newDate(2004,8,1)document.writeln("none\"style=\"LEFT:69px;POSITION:absolute;TOP:159px;Z-INDEX:99\"onClick=\"event.cancelBubble=true;\"onBlur=\"hilayer()\"onMouseout=\"lostlayerfocus()\">-
cele_date_year.value=cele_date_year.options(0).text;
set_cele_date(cele_date_year.value,1);
if(parseInt(t_year,10)>parseInt(cele_date_year.options(cele_date_year.length-1).text,10)){
cele_date_year.value=cele_date_year.options(cele_date_year.length-1).text;
set_cele_date(cele_date_year.value,12);
{cele_date_year.value=t_year;
/*********2002-02-01MODIFYBYWING**************/
window.cele_date.focus();
/****************MODIFYEND***********************/
//初始化日历
functioninit(d_start,d_end)
vartemp_str;
vari=0
varj=0
date_start=newDate(1980,7,1)
date_end=newDate(2004,8,1)
document.writeln("none\"style=\"LEFT:69px;POSITION:absolute;TOP:159px;Z-INDEX:99\"onClick=\"event.cancelBubble=true;\"onBlur=\"hilayer()\"onMouseout=\"lostlayerfocus()\">-
none\"style=\"LEFT:
69px;POSITION:
absolute;TOP:
159px;Z-INDEX:
99\"onClick=\"event.cancelBubble=true;\"onBlur=\"hilayer()\"onMouseout=\"lostlayerfocus()\">-
window.cele_date.innerHTML="";
temp_str="";temp_str+="#000099;background-color:#BFBFBF;cursor:hand;border:1;\">-";temp_str+=""temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1900;i<=2020;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1;i<=12;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+=">\"onclick=\"change_date(1,1)\"onmouseover=\"getlayerfocus()\"style=\"color:#000099;background-color:#BFBFBF;cursor:hand;border:1;\">";temp_str+=""temp_str+="日";temp_str+="一";temp_str+="二";temp_str+="三"temp_str+="四";temp_str+="五";temp_str+="六";
temp_str+="#000099;background-color:#BFBFBF;cursor:hand;border:1;\">-";temp_str+=""temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1900;i<=2020;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1;i<=12;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+=">\"onclick=\"change_date(1,1)\"onmouseover=\"getlayerfocus()\"style=\"color:#000099;background-color:#BFBFBF;cursor:hand;border:1;\">";temp_str+="
#000099;background-color:
#BFBFBF;cursor:
hand;border:
1;\">-";
temp_str+=""
temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1900;i<=2020;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1;i<=12;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+=">\"onclick=\"change_date(1,1)\"onmouseover=\"getlayerfocus()\"style=\"color:#000099;background-color:#BFBFBF;cursor:hand;border:1;\">";temp_str+="
9pt;border:
1px#666666outset;background-color:
#F4F8FB\">"
for(i=1900;i<=2020;i++)
temp_str+=""+i.toString()+"";
temp_str+="-";
temp_str+="9pt;border:1px#666666outset;background-color:#F4F8FB\">"for(i=1;i<=12;i++){temp_str+=""+i.toString()+"";}temp_str+="-";temp_str+=""temp_str+=">\"onclick=\"change_date(1,1)\"onmouseover=\"getlayerfocus()\"style=\"color:#000099;background-color:#BFBFBF;cursor:hand;border:1;\">";temp_str+="
for(i=1;i<=12;i++)
temp_str+=">\"onclick=\"change_date(1,1)\"onmouseover=\"getlayerfocus()\"style=\"color:
1;\">";
temp_str+="
temp_str+="日";temp_str+="一";temp_str+="二";temp_str+="三"temp_str+="四";temp_str+="五";temp_str+="六
temp_str+="四
for(i=1;i<=6;i++)
for(j=1;j<=7;j++){
temp_str+="hand\"style=\"COLOR:#000000\"language=\"javascript\"onmouseover=\"overcolor(this)\"onmouseout=\"outcolor(this)\"onclick=\"td_click(this)\">?"}temp_str+="
hand\"style=\"COLOR:
#000000\"language=\"javascript\"onmouseover=\"overcolor(this)\"onmouseout=\"outcolor(this)\"onclick=\"td_click(this)\">?
"
temp_str+="";
window.cele_date.innerHTML=temp_str;
functionset_cele_date(year,month)
vari,j,p,k
varnd=newDate(year,month-1,1);
event.cancelBubble=true;
cele_date_year.value=year;
cele_date_month.value=month;
k=nd.getDay()-1
vartemp;
for(j=1;j<=7;j++)
eval("c"+i+"_"+j+".innerHTML=\"\"");
eval("c"+i+"_"+j+".bgColor=\"#DDDDDD\"");
eval("c"+i+"_"+j+".style.cursor=\"hand\"");
while(month-1==nd.getMonth())
{j=(nd.getDay()+1);
p=parseInt((nd.getDate()+k)/7)+1;
eval("c"+p+"_"+j+".innerHTML="+"\""+nd.getDate()+"\"");
if((nd.getDate()==today.getDate())&&(cele_date_month.value==today.getMonth()+1)&&(cele_date_year.value==today.getYear())){
eval("c"+p+"_"+j+".bgColor=\"#EFFB64\"");
if(nd>date_end||nd{eval("c"+p+"_"+j+".bgColor=\"#FF9999\"");eval("c"+p+"_"+j+".style.cursor=\"text\"");}nd=newDate(nd.valueOf()+86400000)}}//s_object:点击的对象;d_start-d_end有效的时间区段;需要存放值的控件;functionshow_cele_date(eP,d_start,d_end,t_object){window.cele_date.style.display="";window.cele_date.style.zIndex=99vars,cur_dvareT=eP.offsetTop;vareH=eP.offsetHeight+eT;vardH=window.cele_date.style.pixelHeight;varsT=document.body.scrollTop;varsL=document.body.scrollLeft;event.cancelBubble=true;window.cele_date.style.posLeft=event.clientX-event.offsetX+sL-5;window.cele_date.style.posTop=event.clientY-event.offsetY+eH+sT-5;if(window.cele_date.style.posLeft+window.cele_date.clientWidth>document.body.clientWidth)window.cele_date.style.posLeft+=eP.offsetWidth-window.cele_date.clientWidth;if(d_start!=""){if(d_start=="today"){date_start=newDate(today.getYear(),today.getMonth(),today.getDate());}else{s=d_start.split(separator);date_start=newDate(s[0],s[1]-1,s[2]);}}else{date_start=newDate(1900,1,1);}if(d_end!=""){s=d_end.split(separator);date_end=newDate(s[0],s[1]-1,s[2]);}else{date_end=newDate(3000,1,1);}g_object=t_objectcur_d=newDate()set_cele_date(cur_d.getYear(),cur_d.getMonth()+1);window.cele_date.style.display="block";window.cele_date.focus();}functiontd_click(t_object){vart_dif(parseInt(t_object.innerHTML,10)>=1&&parseInt(t_object.innerHTML,10)<=31){t_d=newDate(cele_date_year.value,cele_date_month.value-1,t_object.innerHTML)if(t_d<=date_end&&t_d>=date_start){varyear=cele_date_year.value;varmonth=cele_date_month.value;varday=t_object.innerHTML;if(parseInt(month)<10)month="0"+month;if(parseInt(day)<10)day="0"+day;g_object.value=year+separator+month+separator+day;window.cele_date.style.display="none";};}}functionh_cele_date(){window.cele_date.style.display="none";}functionovercolor(obj){if(obj.style.cursor=="hand")obj.style.color="#FFFFFF";inover=true;window.cele_date.focus();}functionoutcolor(obj){obj.style.color="#000000";inover=false;}functiongetNow(o){varStamp=newDate();varyear=Stamp.getYear();varmonth=Stamp.getMonth()+1;varday=Stamp.getDate();if(month<10){month="0"+month;}if(day<10){day="0"+day;}o.value=year+separator+month+separator+day;}functionhilayer(){if(inover==false){varlay=document.all.cele_date;lay.style.display="none";}}functiongetlayerfocus(){inover=true;}functionlostlayerfocus(){inover=false;}init();//日历结束///区域表单cityareaname=newArray(35);cityareacode=newArray(35);functionfirst(preP,preC,formname,selectP,selectC){a=0;if(selectP=='01'){a=1;tempoption=newOption('北京','北京',false,true);}else{tempoption=newOption('北京','北京');}eval('document.'+formname+'.'+preP+'.options[1]=tempoption;');cityareacode[0]=newArray('0101','0102','0103','0104','0105','0106','0107','0108');cityareaname[0]=newArray('东城区','西城区','崇文区','宣武区','朝阳区','海淀区','丰台区','石景山');if(selectP=='02'){a=2;tempoption=newOption('深圳','深圳',false,true);}else{tempoption=newOption('深圳','深圳');}eval('document.'+formname+'.'+preP+'.options[2]=tempoption;');cityareacode[1]=newArray('0201','0202','0203','0204','0205','0206');cityareaname[1]=newArray('罗湖','福田','南山','盐田','宝安','龙岗');if(selectP=='03'){a=3;tempoption=newOption('上海','上海',false,true);}else{tempoption=newOption('上海','上海');}eval('document.'+formname+'.'+preP+'.options[3]=tempoption;');cityareacode[2]=newArray('0301','0302','0303','0304','0305','0306','0307','0308','0309','0310','0311','0312','0313','0314','0315','0316','0317','0318','0319','0320');cityareaname[2]=newArray('宝山','金山','南市','长宁','静安','青浦','崇明','卢湾','松江','奉贤','浦东','杨浦','虹口','普陀','闸北','黄浦','闵行','徐汇','嘉定','南汇');if(selectP=='04'){a=4;tempoption=newOption('重庆','重庆',false,true);}else{tempoption=newOption('重庆','重庆');}eval('document.'+formname+'.'+preP+'.options[4]=tempoption;');cityareacode[3]=newArray('0401','0402','0403','0404','0405','0406');cityareaname[3]=newArray('渝中','江北','沙坪坝','南岸','九龙坡','大渡口');if(selectP=='05'){a=5;tempoption=newOption('天津','天津',false,true);}else{tempoption=newOption('天津','天津');}eval('document.'+formname+'.'+preP+'.options[5]=tempoption;');cityareacode[4]=newArray('0501','0502','0503','0504','0505','0506','0507','0508','0509','0510','0511','0512','0513','0514','0515');cityareaname[4]=newArray('和平','河北','河西','河东','南开','红桥','塘沽','汉沽','大港','东丽','西青','津南','北辰','武清','滨海');if(selectP=='06'){a=6;tempoption=newOption('广东','广东',false,true);}else{tempoption=newOption('广东','广东');}
eval("c"+p+"_"+j+".bgColor=\"#FF9999\"");
eval("c"+p+"_"+j+".style.cursor=\"text\"");
nd=newDate(nd.valueOf()+86400000)
//s_object:
点击的对象;d_start-d_end有效的时间区段;需要存放值的控件;
functionshow_cele_date(eP,d_start,d_end,t_object)
window.cele_date.style.display="";
window.cele_date.style.zIndex=99
vars,cur_d
vareT=eP.offsetTop;
vareH=eP.offsetHeight+eT;
vardH=window.cele_date.style.pixelHeight;
varsT=document.body.scrollTop;
varsL=document.body.scrollLeft;
window.cele_date.style.posLeft=event.clientX-event.offsetX+sL-5;
window.cele_date.style.posTop=event.clientY-event.offsetY+eH+sT-5;
if(window.cele_date.style.posLeft+window.cele_date.clientWidth>document.body.clientWidth)window.cele_date.style.posLeft+=eP.offsetWidth-window.cele_date.clientWidth;
if(d_start!
=""){
if(d_start=="today"){
date_start=newDate(today.getYear(),today.getMonth(),today.getDate());
}else{
s=d_start.split(separator);
date_start=newDate(s[0],s[1]-1,s[2]);
date_start=newDate(1900,1,1);
if(d_end!
s=d_end.split(separator);
date_end=newDate(s[0],s[1]-1,s[2]);
date_end=newDate(3000,1,1);
g_object=t_object
cur_d=newDate()
set_cele_date(cur_d.getYear(),cur_d.getMonth()+1);
window.cele_date.style.display="block";
functiontd_click(t_object)
vart_d
if(parseInt(t_object.innerHTML,10)>=1&&parseInt(t_object.innerHTML,10)<=31)
{t_d=newDate(cele_date_year.value,cele_date_month.value-1,t_object.innerHTML)
if(t_d<=date_end&&t_d>=date_start)
varyear=cele_date_year.value;
varmonth=cele_date_month.value;
varday=t_object.innerHTML;
if(parseInt(month)<10)month="0"+month;
if(parseInt(day)<10)day="0"+day;
g_object.value=year+separator+month+separator+day;
window.cele_date.style.display="none";};
functionh_cele_date()
window.cele_date.style.display="none";
functionovercolor(obj)
if(obj.style.cursor=="hand")obj.style.color="#FFFFFF";
inover=true;
functionoutcolor(obj)
obj.style.color="#000000";
inover=false;
functiongetNow(o){
varStamp=newDate();
varyear=Stamp.getYear();
varmonth=Stamp.getMonth()+1;
varday=Stamp.getDate();
if(month<10){
month="0"+month;
if(day<10){
day="0"+day;
o.value=year+separator+month+separator+day;
functionhilayer()
if(inover==false)
varlay=document.all.cele_date;
lay.style.display="none";
functiongetlayerfocus()
functionlostlayerfocus()
init();
//日历结束
///区域表单
cityareaname=newArray(35);
cityareacode=newArray(35);
functionfirst(preP,preC,formname,selectP,selectC)
a=0;
if(selectP=='01')
{a=1;tempoption=newOption('北京','北京',false,true);}
{tempoption=newOption('北京','北京');}
eval('document.'+formname+'.'+preP+'.options[1]=tempoption;');
cityareacode[0]=newArray('0101','0102','0103','0104','0105','0106','0107','0108');
cityareaname[0]=newArray('东城区','西城区','崇文区','宣武区','朝阳区','海淀区','丰台区','石景山');
if(selectP=='02')
{a=2;tempoption=newOption('深圳','深圳',false,true);}
{tempoption=newOption('深圳','深圳');}
eval('document.'+formname+'.'+preP+'.options[2]=tempoption;');
cityareacode[1]=newArray('0201','0202','0203','0204','0205','0206');
cityareaname[1]=newArray('罗湖','福田','南山','盐田','宝安','龙岗');
if(selectP=='03')
{a=3;tempoption=newOption('上海','上海',false,true);}
{tempoption=newOption('上海','上海');}
eval('document.'+formname+'.'+preP+'.options[3]=tempoption;');
cityareacode[2]=newArray('0301','0302','0303','0304','0305','0306','0307','0308','0309','0310','0311','0312','0313','0314','0315','0316','0317','0318','0319','0320');
cityareaname[2]=newArray('宝山','金山','南市','长宁','静安','青浦','崇明','卢湾','松江','奉贤','浦东','杨浦','虹口','普陀','闸北','黄浦','闵行','徐汇','嘉定','南汇');
if(selectP=='04')
{a=4;tempoption=newOption('重庆','重庆',false,true);}
{tempoption=newOption('重庆','重庆');}
eval('document.'+formname+'.'+preP+'.options[4]=tempoption;');
cityareacode[3]=newArray('0401','0402','0403','0404','0405','0406');
cityareaname[3]=newArray('渝中','江北','沙坪坝','南岸','九龙坡','大渡口');
if(selectP=='05')
{a=5;tempoption=newOption('天津','天津',false,true);}
{tempoption=newOption('天津','天津');}
eval('document.'+formname+'.'+preP+'.options[5]=tempoption;');
cityareacode[4]=newArray('0501','0502','0503','0504','0505','0506','0507','0508','0509','0510','0511','0512','0513','0514','0515');
cityareaname[4]=newArray('和平','河北','河西','河东','南开','红桥','塘沽','汉沽','大港','东丽','西青','津南','北辰','武清','滨海');
if(selectP=='06')
{a=6;tempoption=newOption('广东','广东',false,true);}
{tempoption=newOption('广东','广东');}
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1