js年月日下拉框IE,Firefox,Opera浏览器都可以使用

js代码

  1. //========================取系统时间==========================================
  2. function getlocaltime(){
  3.     
  4.     if(typeof(HTMLElement)!="undefined" && !window.opera) 
  5.     HTMLElement.prototype.__defineGetter__("outerHTML",function() 
  6.     { 
  7.         var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
  8.         if(a[i].specified) 
  9.             str+=" "+a[i].name+'="'+a[i].value+'"'
  10.         if(!this.canHaveChildren) 
  11.             return str+" />"
  12.         return str+">"+this.innerHTML+"</"+this.tagName+">"
  13.     }); 
  14.     HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
  15.     { 
  16.         var r = this.ownerDocument.createRange(); 
  17.         r.setStartBefore(this); 
  18.         var df = r.createContextualFragment(s); 
  19.         this.parentNode.replaceChild(df, this); 
  20.         return s; 
  21.     }); 
  22.     HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
  23.     { 
  24.         return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
  25.     }); 
  26. var strYYYY = document.getElementById("f1").yearo1.outerHTML;
  27. var strMM = document.getElementById("f1").montho1.outerHTML;
  28. var strDD = document.getElementById("f1").dayss1.outerHTML;
  29. var strHH=document.getElementById("f1").hours1.outerHTML;
  30. var strmm=document.getElementById("f1").mini1.outerHTML;
  31. var MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  32. else{
  33.     var strYYYY = document.getElementById("f1").yearo1.outerHTML;
  34. var strMM = document.getElementById("f1").montho1.outerHTML;
  35. var strDD = document.getElementById("f1").dayss1.outerHTML;
  36. var strHH=document.getElementById("f1").hours1.outerHTML;
  37. var strmm=document.getElementById("f1").mini1.outerHTML;
  38. var MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  39.     }
  40. //先给年下拉框赋内容
  41. var y = new Date().getFullYear();
  42. //在<select name=yearo1 οnchange="YYYYMM1(this.value)"></select>之间插入正确的代码
  43. var str = strYYYY.substring(0, strYYYY.length - 9);
  44. for (var i = (y-30); i < (y+30); i++) //以今年为准,前30年,后30年
  45. {
  46. str += "<option value=" + i + "> " + i + "</option>/r/n";
  47. }
  48. document.getElementById("f1").yearo1.outerHTML = str +"</select>";
  49. //赋月份的下拉框
  50. var str = strMM.substring(0, strMM.length - 9);
  51. for (var i = 1; i < 13; i++)
  52. {
  53. if(i>9){
  54. str += "<option value="+i+ "> " + i + "</option>/r/n";
  55. }else{
  56. str += "<option value=0"+i+"> " + i + "</option>/r/n";
  57. }
  58. }
  59. document.getElementById("f1").montho1.outerHTML = str +"</select>";
  60. document.getElementById("f1").yearo1.value = y;
  61. var monthtemp=parseInt(new Date().getMonth())+1;
  62. if(monthtemp>9){
  63. document.getElementById("f1").montho1.value=monthtemp;
  64. }else{
  65. document.getElementById("f1").montho1.value='0'+monthtemp;
  66. }
  67. //获取对应下标值
  68. var n = MonHead[new Date().getMonth()];
  69. //判断是否是闰年
  70. if (new Date().getMonth() ==1 && IsPinYear(YYYYvalue)){
  71.     //总天数+1
  72. n++;
  73. }
  74. //赋日期下拉框
  75.  writeDay1(n); 
  76.  //得到当前日期
  77. var mtemp=new Date().getDate();
  78.     if(mtemp>9){
  79.                 document.getElementById("f1").dayss1.value=mtemp;
  80.     }else{
  81.                 document.getElementById("f1").dayss1.value ="0"+mtemp;
  82.     }
  83. //赋小时值
  84. var strhour=strHH.substring(0,strHH.length-9);
  85. for(var i=0;i<24;i++){
  86. if(i>9){
  87. strhour+= "<option value='" + i + "'> " + i + "</option>/r/n";
  88. }else{
  89. strhour+= "<option value=0"+i+">0" + i + "</option>/r/n";
  90. }
  91. }document.getElementById("f1").hours1.outerHTML=strhour+"</select>";
  92. //获得当前小时
  93. var mtemp=new Date().getHours();
  94. if(mtemp>9){
  95.         document.getElementById("f1").hours1.value=mtemp;
  96.     }else{
  97.         document.getElementById("f1").hours1.value ="0"+mtemp;
  98.     }
  99. //赋值分钟
  100. var strmin=strmm.substring(0,strmm.length-9);
  101. for(var i=0;i<60;i++){
  102. if(i>9){
  103. strmin+= "<option value='" + i + "'> " + i + "</option>/r/n";
  104. }else{
  105. strmin+= "<option value=0"+i+">0" + i + "</option>/r/n";
  106. }
  107. }
  108. document.getElementById("f1").mini1.outerHTML=strmin+"</select>";
  109. // 获得当前分钟
  110.     var mtemp=new Date().getMinutes();
  111.     if(mtemp>9){
  112.         document.getElementById("f1").mini1.value=mtemp;
  113.     }else{
  114.         document.getElementById("f1").mini1.value ="0"+mtemp;
  115.     }
  116. }
  117. //============处理函数===============
  118. //年发生变化时日期发生变化(主要是判断闰平年)    
  119. function YYYYMM1(str) 
  120. {
  121.     if(typeof(HTMLElement)!="undefined" && !window.opera) 
  122.     HTMLElement.prototype.__defineGetter__("outerHTML",function() 
  123.     { 
  124.         var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
  125.         if(a[i].specified) 
  126.             str+=" "+a[i].name+'="'+a[i].value+'"'
  127.         if(!this.canHaveChildren) 
  128.             return str+" />"
  129.         return str+">"+this.innerHTML+"</"+this.tagName+">"
  130.     }); 
  131.     HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
  132.     { 
  133.         var r = this.ownerDocument.createRange(); 
  134.         r.setStartBefore(this); 
  135.         var df = r.createContextualFragment(s); 
  136.         this.parentNode.replaceChild(df, this); 
  137.         return s; 
  138.     }); 
  139.     HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
  140.     { 
  141.         return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
  142.     }); 
  143.     
  144.     
  145.             strDD ="<select name=dayss1></select>";
  146.             var strDD = document.getElementById("f1").dayss1.outerHTML;
  147.             var MMvalue = document.getElementById("f1").montho1.options[document.getElementById("f1").montho1.selectedIndex].value;
  148.             if (MMvalue == ""){
  149.             dayss1.outerHTML = strDD; 
  150.             return;
  151.             }
  152.             var n = MonHead[MMvalue - 1];
  153.             if (
  154.             MMvalue =='02' && IsPinYear(str)) n++;
  155.             writeDay1(n)
  156. else{
  157.             strDD ="<select name=dayss1></select>";
  158.             var strDD = document.getElementById("f1").dayss1.outerHTML;
  159.             var MMvalue = document.getElementById("f1").montho1.options[document.getElementById("f1").montho1.selectedIndex].value;
  160.             if (MMvalue == ""){
  161.             dayss1.outerHTML = strDD; 
  162.             return;
  163.         }
  164.         var n = MonHead[MMvalue - 1];
  165.         if (
  166.         MMvalue =='02' && IsPinYear(str)) n++;
  167.         writeDay1(n)
  168.     }
  169. }
  170. function MMDD1(str) //月发生变化时日期联动
  171. {
  172.     if(typeof(HTMLElement)!="undefined" && !window.opera) 
  173.     HTMLElement.prototype.__defineGetter__("outerHTML",function() 
  174.     { 
  175.         var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
  176.         if(a[i].specified) 
  177.             str+=" "+a[i].name+'="'+a[i].value+'"'
  178.         if(!this.canHaveChildren) 
  179.             return str+" />"
  180.         return str+">"+this.innerHTML+"</"+this.tagName+">"
  181.     }); 
  182.     HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
  183.     { 
  184.         var r = this.ownerDocument.createRange(); 
  185.         r.setStartBefore(this); 
  186.         var df = r.createContextualFragment(s); 
  187.         this.parentNode.replaceChild(df, this); 
  188.         return s; 
  189.     }); 
  190.     HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
  191.     { 
  192.         return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
  193.     }); 
  194.     
  195.         strDD ="<select name=dayss1></select>";
  196.             var YYYYvalue = document.getElementById("f1").yearo1.options[document.getElementById("f1").yearo1.selectedIndex].value;
  197.             if (str == ""){dayss1.outerHTML = strDD; return;}
  198.             var n = MonHead[str - 1];
  199.             if (str =="02" && IsPinYear(YYYYvalue)) n++;
  200.             writeDay1(n)
  201. else{
  202.             strDD ="<select name=dayss1></select>";
  203.             var YYYYvalue = document.getElementById("f1").yearo1.options[document.getElementById("f1").yearo1.selectedIndex].value;
  204.             if (str == ""){dayss1.outerHTML = strDD; return;}
  205.             var n = MonHead[str - 1];
  206.             if (str =="02" && IsPinYear(YYYYvalue)) n++;
  207.             writeDay1(n)
  208. }
  209. }
  210. function writeDay1(n) //据条件写日期的下拉框
  211. {
  212.     if(typeof(HTMLElement)!="undefined" && !window.opera) 
  213.     HTMLElement.prototype.__defineGetter__("outerHTML",function() 
  214.     { 
  215.         var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
  216.         if(a[i].specified) 
  217.             str+=" "+a[i].name+'="'+a[i].value+'"'
  218.         if(!this.canHaveChildren) 
  219.             return str+" />"
  220.         return str+">"+this.innerHTML+"</"+this.tagName+">"
  221.     }); 
  222.     HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
  223.     { 
  224.         var r = this.ownerDocument.createRange(); 
  225.         r.setStartBefore(this); 
  226.         var df = r.createContextualFragment(s); 
  227.         this.parentNode.replaceChild(df, this); 
  228.         return s; 
  229.     }); 
  230.     HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
  231.     { 
  232.         return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
  233.     }); 
  234.     
  235.         strDD ="<select name=dayss1></select>";
  236.             var s = strDD.substring(0, strDD.length - 9);
  237.             for (var i=1; i<(n+1); i++)
  238.             {
  239.                 if(i>9){
  240.                     s += "<option value=" + i + "> " + i + "</option>/r/n"
  241.                 }else{
  242.                 s += "<option value=0" + i + "> " + i + "</option>/r/n"
  243.                 }
  244.             }
  245.             document.getElementById("f1").dayss1.outerHTML = s +"</select>";
  246.     
  247. else{
  248.             strDD ="<select name=dayss1></select>";
  249.             var s = strDD.substring(0, strDD.length - 9);
  250.             for (var i=1; i<(n+1); i++)
  251.             {
  252.                 if(i>9){
  253.                     s += "<option value=" + i + "> " + i + "</option>/r/n"
  254.                 }else{
  255.                 s += "<option value=0" + i + "> " + i + "</option>/r/n"
  256.                 }
  257.             }
  258.             
  259.             document.getElementById("f1").dayss1.outerHTML = s +"</select>";
  260. }
  261.     
  262. }
  263. function IsPinYear(year)//判断是否闰平年
  264. return(0 == year%4 && (year%100 !=0 || year%400 == 0))
  265. }
  266.     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值