如何用jQuery编写示例代码实现动态生成年月日三级联动的下拉菜单?

更新于
2026-10-02 11:12:38
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计566个文字,预计阅读时间需要3分钟。

原文示例:原文:本文实例讲述了jQuery实现动态生成年月日级联下拉列表。分享给大家供大家参考,具体如下:+ HTML代码:+ form name=form1 id=dateForm>+ select name=year>+ 2000+ 2001+ 年+ select name=month>+ 1+ 2+ 月+ select name=day>+ 1+ 2+ 日+

改写后:本文通过jQuery技术展示了如何动态创建年月日联动的下拉列表。以下为参考代码:+ HTML代码:+

本文实例讲述了jQuery实现动态生成年月日级联下拉列表。分享给大家供大家参考,具体如下:

html代码:

<form name="form1" id="dateForm"> <select name="year"></select>年 <select name="month"></select>月 <select name="day"></select>日 </form>

JS代码:

$(function(){ var i=1945; var date=new Date(); var year=date.getFullYear();//获取当前年份 var dropList; for(var i;i<2017;i++){ if(i==year){ dropList=dropList+"<option value='"+i+"' selected>"+i+"</option>"; }else { dropList=dropList+"<option value='"+i+"'>"+i+"</option>"; } } $('#dateForm select[name=year]').html(dropList);//生成年份下拉列表 var monthly; for(var j=1;j<13;j++){ monthly=monthly+'<option value="'+j+'">'+j+'</option>' } $('#dateForm select[name=month]').html(monthly);//生成月份下拉列表 var daily; for(var day=1;day<=31;day++){ daily=daily+'<option value="'+day+'">'+day+'</option>'; } $('#dateForm select[name=day]').html(daily); $('#dateForm select[name=month]').change(function(){ var currentDay; var total; var flag=$('#dateForm select[name=year]:selected').val(); var currentMonth=$('#dateForm select[name=month]').val(); switch (currentMonth){ case "1": case "3": case "5": case "7": case "8": case "10": case "12":total=31;break; case "4": case "6": case "9": case "11":total=30;break; case "2": //闰年 整除4但是不整除100 或者整除400 if( (flag%4==0 && flag%100!=0 ) || flag%400){ total=29; }else { total=28; } default :break } for(day=1;day<=total;day++){ currentDay=currentDay+'<option value="'+day+'">'+day+'</option>' } $('#dateForm select[name=day]').html(currentDay);//生成日期下拉列表 }); });

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:
tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
tools.jb51.net/code/unixtime

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery日期与时间操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

本文共计566个文字,预计阅读时间需要3分钟。

原文示例:原文:本文实例讲述了jQuery实现动态生成年月日级联下拉列表。分享给大家供大家参考,具体如下:+ HTML代码:+ form name=form1 id=dateForm>+ select name=year>+ 2000+ 2001+ 年+ select name=month>+ 1+ 2+ 月+ select name=day>+ 1+ 2+ 日+

改写后:本文通过jQuery技术展示了如何动态创建年月日联动的下拉列表。以下为参考代码:+ HTML代码:+

本文实例讲述了jQuery实现动态生成年月日级联下拉列表。分享给大家供大家参考,具体如下:

html代码:

<form name="form1" id="dateForm"> <select name="year"></select>年 <select name="month"></select>月 <select name="day"></select>日 </form>

JS代码:

$(function(){ var i=1945; var date=new Date(); var year=date.getFullYear();//获取当前年份 var dropList; for(var i;i<2017;i++){ if(i==year){ dropList=dropList+"<option value='"+i+"' selected>"+i+"</option>"; }else { dropList=dropList+"<option value='"+i+"'>"+i+"</option>"; } } $('#dateForm select[name=year]').html(dropList);//生成年份下拉列表 var monthly; for(var j=1;j<13;j++){ monthly=monthly+'<option value="'+j+'">'+j+'</option>' } $('#dateForm select[name=month]').html(monthly);//生成月份下拉列表 var daily; for(var day=1;day<=31;day++){ daily=daily+'<option value="'+day+'">'+day+'</option>'; } $('#dateForm select[name=day]').html(daily); $('#dateForm select[name=month]').change(function(){ var currentDay; var total; var flag=$('#dateForm select[name=year]:selected').val(); var currentMonth=$('#dateForm select[name=month]').val(); switch (currentMonth){ case "1": case "3": case "5": case "7": case "8": case "10": case "12":total=31;break; case "4": case "6": case "9": case "11":total=30;break; case "2": //闰年 整除4但是不整除100 或者整除400 if( (flag%4==0 && flag%100!=0 ) || flag%400){ total=29; }else { total=28; } default :break } for(day=1;day<=total;day++){ currentDay=currentDay+'<option value="'+day+'">'+day+'</option>' } $('#dateForm select[name=day]').html(currentDay);//生成日期下拉列表 }); });

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:
tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
tools.jb51.net/code/unixtime

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery日期与时间操作技巧总结》、《jQuery扩展技巧总结》、《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。