基于JQuery的日期联动实现代码
2023-06-13 09:14:27 时间
实现目标:
两个日期,有下拉框:
<head>
//导入jquery地址
<scriptsrc="(Jquery地址)"language="JavaScript"type="text/javascript"></script>
<scripttype="text/javascript">
//startYear发生变化
functionchangeYear(str,isstart)
{
varpre="start";
if(isstart==false)
{
pre="end";
}
varstartMonth=$(pre+"Month").value;
if(startMonth=="")
{
vare=$(pre+"Month");
optionClear(e);
return;
}
varn=MonHead[startMonth-1];
if(startMonth==2&&IsPinYear($(pre+"Year").value))
{
n++;
}
writeDay(n,pre);
}
functionchangeMonth(str,isstart)
{
varpre="start";
if(isstart==false)
{
pre="end";
}
varyear=$(pre+"Year").value;
if(year=="")
{
vare=$(pre+"Day");
optionClear(e);
return;
}
varn=MonHead[str-1];
if(str==2&&IsPinYear($(pre+"Year")))
{
n++;
}
writeDay(n,pre);
}
functiondateStart()
{
vardefaultStartY="2011";
vardefaultStartM="1";
vardefaultStartD="14";
vardefaultEndY="2011";
vardefaultEndM="2";
vardefaultEndD="23";
MonHead=[31,28,31,30,31,30,31,31,30,31,30,31];
varprestr=newArray("start","end");
for(varj=0;j<2;j++)
{
varpre=prestr[j];
//start年
vary=newDate().getFullYear();
if(pre=="start")
{
//start初始选中前第10天
vari_index=0;
for(vari=(y-10);i<=y;i++)
{
$(pre+"Year").options.add(newOption(""+i+"",i));
if(i==defaultStartY)
{
$(pre+"Year").options[i_index].selected=true;
}
i_index++;
}
}
else
{
vari_index=0;
for(vari=(y-5);i<=y+5;i++)
{
$(pre+"Year").options.add(newOption(""+i+"",i));
if(i==defaultEndY)
{
$(pre+"Year").options[i_index].selected=true;
}
i_index++;
}
}
//start月
defaultM=(pre=="start"?defaultStartM:defaultEndM)
for(vari=1;i<13;i++)
{
$(pre+"Month").options.add(newOption(""+i+"",i));
if(i==defaultM)
{
$(pre+"Month").options[i-1].selected=true;
}
}
//start日
varn=MonHead[$(pre+"Month").value];
if(newDate().getMonth==1&&IsPinYear($(pre+"Year").value))
{
n++;
}
defaultD=(pre=="start"?defaultStartD:defaultEndD)
writeDay(n,pre);
$(pre+"Day").options[defaultD-1].selected=true;
}
}
functionwriteDay(n,pre)
{
vare=$(pre+"Day");
optionClear(e);
for(vari=1;i<(n+1);i++)
{
e.options.add(newOption(""+i+"",i));
}
}
functionIsPinYear(year)
{
return(0==year%4&&(year%100!=0||year%4==0));
}
functionoptionClear(e)
{
for(vari=e.options.length;i>=0;i--)
{
e.remove(i);
}
}
</script>
</head>
<bodyonload="dateStart()">
<pname="selectdate">
从
<selectid="startYear"name="startYear"onchange="changeYear(this.value,true)">
</select>
年
<selectid="startMonth"name="startMonth"onchange="changeMonth(this.value,true)">
</select>
月
<selectid="startDay"name="startDay">
</select>
日
到
<selectid="endYear"name="endYear"onchange="changeYear(this.value,false)">
</select>
年
<selectid="endMonth"name="endMonth"onchange="changeMonth(this.value,false)">
</select>
月
<selectid="endDay"name="endDay">
</select>
日
</p>
</body>
参考了一些代码,希望对需要的朋友有所帮助。
相关文章
- 生成二维码的 jQuery 插件:jquery.qrcode.js
- JQuery日历插件My97DatePicker日期范围限制详解编程语言
- jQuery Tips(5)—-关于伪类选择符详解编程语言
- jQuery图片切换插件jquery.cycle.js详解编程语言
- jquery mobiscroll移动端日期选择控件(无乱码)详解编程语言
- jQuery各种浏览器下获得日期区别
- jQuery常见开发使用技巧总结
- Jquery实战_读书笔记1—选择jQuery
- JQuery插件模板制作jquery插件的朋友可以参考下
- jQuery温习篇强大的JQuery选择器
- jquery日期分离成年月日的代码
- JQuery之拖拽插件实现代码
- 疯狂Jquery第一天(Jquery学习笔记)
- jquery的ajax()函数传值中文乱码解决方法介绍
- JQuery为用户控件(ASCX)赋值与接口的应用
- jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
- jQuery中实现动画效果的基本操作介绍
- jQuery获取浏览器中的分辨率实现代码
- Jquery图片延迟加载插件jquery.lazyload.js的使用方法
- jquery中animate的stop()方法作用实例分析
- jquery实现在页面加载的时自动为日期插件添加当前日期