zoukankan      html  css  js  c++  java
  • 年月日的三级联动

      1 <body>
      2 <div id="box">
      3     <select name="sel1" id="sel1">
      4         <option value="year"></option>
      5     </select>
      6     <select name="sel2" id="sel2">
      7         <option value="month"></option>
      8     </select>
      9     <select name="sel3" id="sel3">
     10         <option value="day"></option>
     11     </select>
     12 </div>
     13 <script>
     14     //生成日期
     15     function creatDate()
     16     {
     17         //生成1900年-2100年
     18         for(var i = 1900; i <= 2100; i++)
     19         {
     20             //创建select项
     21             var option = document.createElement('option');
     22             option.setAttribute('value',i);
     23             option.innerHTML = i;
     24             sel1.appendChild(option);
     25         }
     26         //生成1月-12月
     27         for(var i = 1; i <=12; i++){
     28             var option1 = document.createElement('option');
     29             option1.setAttribute('value',i);
     30             option1.innerHTML = i;
     31             sel2.appendChild(option1);
     32         }
     33         //生成1日—31日
     34         for(var i = 1; i <=31; i++){
     35             var option2 = document.createElement('option');
     36             option2.setAttribute('value',i);
     37             option2.innerHTML = i;
     38             sel3.appendChild(option2);
     39         }
     40     }
     41     creatDate();
     42     //保存某年某月的天数
     43     var days;
     44     //年份点击 绑定函数
     45     sel1.onclick = function()
     46     {
     47         //月份显示默认值
     48         sel2.options[0].selected = true;
     49         //天数显示默认值
     50         sel3.options[0].selected = true;
     51     }
     52     //月份点击 绑定函数
     53     sel2.onclick = function()
     54     {
     55         //天数显示默认值
     56         sel3.options[0].selected = true;
     57         //计算天数的显示范围
     58         //如果是2月
     59         if(sel2.value == 2)
     60         {
     61             //判断闰年
     62             if((sel1.value % 4 === 0 && sel1.value % 100 !== 0) || sel1.value % 400 === 0)
     63             {
     64                 days = 29;
     65             }
     66             else
     67             {
     68                 days = 28;
     69             }
     70             //判断小月
     71         }else if(sel2.value == 4 || sel2.value == 6 ||sel2.value == 9 ||sel2.value == 11){
     72             days = 30;
     73         }else{
     74             days = 31;
     75         }
     76         //增加或删除天数
     77         //如果是28天,则删除29、30、31天(即使他们不存在也不报错)
     78         if(days == 28){
     79             sel3.remove(31);
     80             sel3.remove(30);
     81             sel3.remove(29);
     82         }
     83         //如果是29天
     84         if(days == 29){
     85             sel3.remove(31);
     86             sel3.remove(30);
     87             //如果第29天不存在,则添加第29天
     88             if(!sel3.options[29]){
     89                 sel3.add(new Option('29','29'),null)
     90             }
     91         }
     92         //如果是30天
     93         if(days == 30){
     94             sel3.remove(31);
     95             //如果第29天不存在,则添加第29天
     96             if(!sel3.options[29]){
     97                 sel3.add(new Option('29','29'),null)
     98             }
     99             //如果第30天不存在,则添加第30天
    100             if(!sel3.options[30]){
    101                 sel3.add(new Option('30','30'),null)
    102             }
    103         }
    104         //如果是31天
    105         if(days == 31){
    106             //如果第29天不存在,则添加第29天
    107             if(!sel3.options[29])
    108             {
    109                 sel3.add(new Option('29','29'),null)
    110             }
    111             //如果第30天不存在,则添加第30天
    112             if(!sel3.options[30])
    113             {
    114                 sel3.add(new Option('30','30'),null)
    115             }
    116             //如果第31天不存在,则添加第31天
    117             if(!sel3.options[31])
    118             {
    119                 sel3.add(new Option('31','31'),null)
    120             }
    121         }
    122     }
    123 </script>
    124 </body>

  • 相关阅读:
    YZR.Data 事务处理(Tranaction)
    啊Ran讲微信开发(.net) :公众号(服务号)+自定义服务器(OAuth授权登录)
    啊Ran讲微信开发(.net) 目录结构
    啊Ran讲微信开发(.net) :公众号(订阅号)+自定义服务器(自定义菜单)
    js和jQuery的总结
    Javascript重要解析
    IntelliJ-项目配置,解决no artifacts的warnings
    农夫过河问题(java版)
    redis安装常见问题
    idea 项目中 maven 编译出错Fatal error compiling: 无效的目标发行版: 1.8 -> [Help 1] 解决方法
  • 原文地址:https://www.cnblogs.com/ldlx-mars/p/6798362.html
Copyright © 2011-2022 走看看