·您当前的位置:首页 > 技术教程 > JavaScript >

[JS]js得现年月日联动

时间:2014-04-23 14:27王翔
[JS]js得现年月日联动

[JS]js得现年月日联动

  1. var StartYear = 1980
  2. var EndYear = 2500
  3.  
  4. function MonthAndDay() 
  5. this.initDDL = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) 
  6. this.init(objYear,objMonth,objDay,hidYear,hidMonth,hidDay); 
  7. this.SelectChange(objYear,objMonth,objDay,hidYear,hidMonth,hidDay); 
  8.  
  9. this.init = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) 
  10. var year = document.getElementById(objYear); 
  11. var month = document.getElementById(objMonth); 
  12. var day = document.getElementById(objDay); 
  13. var me=this
  14.  
  15. if(year.length == 1) 
  16. year.options[0] = new Option("不限",""); 
  17. for(var i = StartYear; i < EndYear; i++) 
  18. year.options[year.length] = new Option(i,i); 
  19. me.yearOptionsChange(document.all[objYear].value,objYear,objMonth,objDay); 
  20. me.monthOptionsChange(document.all[objYear].value,document.getElementById(objMonth).value,objDay); 
  21.  
  22. this.yearOptionsChange = function(selectValue,objYear,objMonth,objDay) 
  23. var month = document.getElementById(objMonth); 
  24. var day = document.getElementById(objDay); 
  25. var me=this
  26. month.length = 0
  27. day.length = 0
  28. month.options[0]=new Option("不限",''); 
  29. day.options[0]=new Option("不限",''); 
  30.  
  31. if(selectValue == "") 
  32. return ; 
  33.  
  34. for(var i = 1; i < 13; i++) 
  35. month.options[month.length] = new Option((i < 10 ? ("0" + i) : i),i); 
  36. me.monthOptionsChange(document.getElementById(objYear).value,document.getElementById(objMonth).value,objDay); 
  37.  
  38. this.monthOptionsChange = function(yearSelectValue,monthSelectValue,objDay) 
  39. var day = document.getElementById(objDay); 
  40. var endDay; 
  41. day.length = 0
  42.  
  43. day.options[0]=new Option("不限",''); 
  44.  
  45. if(monthSelectValue == "") 
  46. return; 
  47. if((parseInt(yearSelectValue) % 400 == 0) || (parseInt(yearSelectValue) % 4 == 0 && parseInt(yearSelectValue) % 100 != 0)) 
  48. if(parseInt(monthSelectValue) == "2") 
  49. endDay = 29
  50. else 
  51. if(parseInt(monthSelectValue) == "2") 
  52. endDay = 28
  53. switch(parseInt(monthSelectValue)) 
  54. case 1: 
  55. case 3: 
  56. case 5: 
  57. case 7: 
  58. case 8: 
  59. case 10: 
  60. case 12: 
  61. endDay = 31
  62. break; 
  63. case 4: 
  64. case 6: 
  65. case 9: 
  66. case 11: 
  67. endDay = 30
  68. break; 
  69.  
  70. for(var i = 1; i <= endDay; i++) 
  71. day.options[day.length] = new Option((i < 10 ? ("0" + i) : i),i); 
  72.  
  73. this.SelectChange = function(objYear,objMonth,objDay,hidYear,hidMonth,hidDay) 
  74. var year = document.all[objYear]; 
  75. var month = document.all[objMonth]; 
  76. var day = document.all[objDay]; 
  77. var me = this
  78.  
  79. year.onchange = function() 
  80. me.yearOptionsChange(this.options[this.selectedIndex].value,objYear,objMonth,objDay); 
  81. document.all[hidYear].value = this.options[this.selectedIndex].value; 
  82. document.all[hidMonth].value = ""
  83. document.all[hidDay].value = ""
  84.  
  85. month.onchange = function() 
  86. me.monthOptionsChange(document.all[hidYear].value,this.options[this.selectedIndex].value,objDay); 
  87. document.all[hidMonth].value = this.options[this.selectedIndex].value; 
  88. document.all[hidDay].value = ""
  89.  
  90. day.onchange = function() 
  91. document.all[hidDay].value = day.selectValue; 
  92. }  

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器