作家
登录

javascript 年月日联动实现核心代码

作者: 来源:www.28hudong.com 2013-03-30 02:01:15 阅读 我要评论

复制代码 代码如下:var StartYear = 1980; var EndYear = 2500; function MonthAndDay() { this.initDDL = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) { this.init(objYear,objMonth,objDay,hidYear,hidMonth,hidDay); this.SelectChange(objYear,objMonth,objDay,hidYear,hidMonth,hidDay); } this.init = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) { var year = document.getElementById(objYear); var month = document.getElementById(objMonth); var day = document.getElementById(objDay); var me=this; if(year.length == 1) { year.options[0] = new Option("不限",""); for(var i = StartYear; i < EndYear; i++) { year.options[year.length] = new Option(i,i); } } me.yearOptionsChange(document.all[objYear].value,objYear,objMonth,objDay); me.monthOptionsChange(document.all[objYear].value,document.getElementById(objMonth).value,objDay); } this.yearOptionsChange = function(selectValue,objYear,objMonth,objDay) { var month = document.getElementById(objMonth); var day = document.getElementById(objDay); var me=this; month.length = 0; day.length = 0; month.options[0]=new Option("不限",''); day.options[0]=new Option("不限",''); if(selectValue == "") { return ; } for(var i = 1; i < 13; i++) { month.options[month.length] = new Option((i < 10 ? ("0" + i) : i),i); } me.monthOptionsChange(document.getElementById(objYear).value,document.getElementById(objMonth).value,objDay); } this.monthOptionsChange = function(yearSelectValue,monthSelectValue,objDay) { var day = document.getElementById(objDay); var endDay; day.length = 0; day.options[0]=new Option("不限",''); if(monthSelectValue == "") { return; } if((parseInt(yearSelectValue) % 400 == 0) || (parseInt(yearSelectValue) % 4 == 0 && parseInt(yearSelectValue) % 100 != 0)) { if(parseInt(monthSelectValue) == "2") { endDay = 29; } } else { if(parseInt(monthSelectValue) == "2") { endDay = 28; } } switch(parseInt(monthSelectValue)) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: endDay = 31; break; case 4: case 6: case 9: case 11: endDay = 30; break; } for(var i = 1; i <= endDay; i++) { day.options[day.length] = new Option((i < 10 ? ("0" + i) : i),i); } } this.SelectChange = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) { var year = document.all[objYear]; var month = document.all[objMonth]; var day = document.all[objDay]; var me = this; year.onchange = function() { me.yearOptionsChange(this.options[this.selectedIndex].value,objYear,objMonth,objDay); document.all[hidYear].value = this.options[this.selectedIndex].value; document.all[hidMonth].value = ""; document.all[hidDay].value = ""; } month.onchange = function() { me.monthOptionsChange(document.all[hidYear].value,this.options[this.selectedIndex].value,objDay); document.all[hidMonth].value = this.options[this.selectedIndex].value; document.all[hidDay].value = ""; } day.onchange = function() { document.all[hidDay].value = day.selectValue; } } }

  推荐阅读

  CSS+Jquery实现页面圆角框方法大全

所以我就想用一个既方便调用又方便更新的方法来实现,结果如愿以偿。先将此技术点总结如下: 在此之前我也寻找过目前网络上最流行的做法的实现方案,大体共总结出7种方法,但是发现他们的方法多多少少都存在缺陷,>>>详细阅读


本文标题:javascript 年月日联动实现核心代码

地址:http://www.17bianji.com/kaifa2/JS/27414.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)