Posted in jQuery onMay 11, 2019
本文实例讲述了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);//生成日期下拉列表 }); });
jQuery实现动态生成年月日级联下拉列表示例
- Author -
zhy前端攻城狮声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@