年月日 日期选择问题

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            div
            {
                height: 300px;
                width: 300px;
                margin: 0px auto;
            }
        </style>
    </head>
    <body>
        <div>
         <select id="year" onChange="a()">
               <option value="0" selected></option>
              <!--<option value="1986">1986</option>
              <option value="1987">1987</option>
              <option value="1988">1988</option>
              <option value="1989">1989</option>
              <option value="1990">1990</option>
              <option value="1991">1991</option>
              <option value="1992">1992</option>
              <option value="1993">1993</option>
              <option value="1994">1994</option>
              <option value="1995">1995</option>
              <option value="1996">1996</option>
              <option value="1997">1997</option>
              <option value="1998">1998</option>
              <option value="1999">1999</option>
              <option value="2000">2000</option>
              <option value="2001">2001</option>
              <option value="2002">2002</option>
              <option value="2003">2003</option>
              <option value="2004">2004</option>
              <option value="2005">2005</option>
              <option value="2006">2006</option>
              <option value="2007">2007</option>
              <option value="2008">2008</option>
              <option value="2009">2009</option>
              <option value="2010">2010</option>
              <option value="2011">2011</option>
              <option value="2012">2012</option>
              <option value="2013">2013</option>
              <option value="2014">2014</option>
              <option value="2015">2015</option>
              <option value="2016">2016</option>
              <option value="2017">2017</option>-->
            </select>
                                年
            <select id="month" onChange="b()">
              <option value="0"></option>
              <!--<option value="1">1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>-->
            </select>
                                月
            <select id="day">
              <!--<option value="1" selected>1</option>
              <option value="2">2</option>
              <option value="3">3</option>
              <option value="4">4</option>
              <option value="5">5</option>
              <option value="6">6</option>
              <option value="7">7</option>
              <option value="8">8</option>
              <option value="9">9</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
              <option value="13">13</option>
              <option value="14">14</option>
              <option value="15">15</option>
              <option value="16">16</option>
              <option value="17">17</option>
              <option value="18">18</option>
              <option value="19">19</option>
              <option value="20">20</option>
              <option value="21">21</option>
              <option value="22">22</option>
              <option value="23">23</option>
              <option value="24">24</option>
              <option value="25">25</option>
              <option value="26">26</option>
              <option value="27">27</option>
              <option value="28">28</option>-->
            </select>
                        日
            </div>
    </body>
</html>
<script>

    var runnian;
    var opt1=Array();
    var opt2=Array();
    var year = document.getElementById("year");
    for(var k=1980;k<=2017;k++)
            {
                opt1[k] = document.createElement(‘option‘);
                year.value = k;
                opt1[k].innerText = k;
                year.appendChild(opt1[k]);
            }
    function a()
    {

     var year = document.getElementById("year");
     var month = document.getElementById("month")
     month.options.length=1;
     var day =document.getElementById(‘day‘);
     day.options.length=0;

     if((year.value%4==0&&year.value%100!=0)||year.value%400==0)
     {
         runnian=true;
     }
     else
     {
         runnian=false;
     }
     for(var j=1;j<=12;j++)
            {
                opt1[j] = document.createElement(‘option‘);
                month.value = j;
                opt1[j].innerText = j;
                month.appendChild(opt1[j]);
            }
    }

以上实现的是年月日 日期时间选择(自己的版本)

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>

		<select id=‘year‘ onchange="addDay()"></select>
		<select id="month" onchange="addDay()"></select>
		<select id="date"></select>
	</body>

</html>
<script>

	var year_slt = document.getElementById(‘year‘);
	var month_slt = document.getElementById(‘month‘);
	var day_slt = document.getElementById(‘date‘);
	var now = new Date();
	now_year = now.getFullYear();

	for(var i = now_year; i >= now_year - 70; i--) {
		var opt_year = document.createElement(‘option‘);
		opt_year.value = i;
		opt_year.innerText = i;
		year_slt.appendChild(opt_year);
	}

	for(var i = 1; i <= 12; i++) {
		var opt_month = document.createElement(‘option‘);
		opt_month.value = i;
		opt_month.innerText = i;
		month_slt.appendChild(opt_month);
	}

	function isRun(year) {
		if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
			return 29;
		} else {
			return 28
		}
	}

	function addDay() {
		day_slt.innerHTML = ‘‘;
		if(month_slt.value == 1 || month_slt.value == 3 || month_slt.value == 5 || month_slt.value == 7 || month_slt.value == 8 || month_slt.value == 10 || month_slt.value == 12) {
			for(var i = 1; i <= 31; i++) {
				var day = document.createElement(‘option‘);
				day.value = i;
				day.innerText = i;
				day_slt.appendChild(day);
			}
		} else if(month_slt.value == 4 || month_slt.value == 6 || month_slt.value == 9 || month_slt.value == 11) {
			for(var i = 1; i <= 30; i++) {
				var day = document.createElement(‘option‘);
				day.value = i;
				day.innerText = i;
				day_slt.appendChild(day);
			}
		} else {
			for(var i = 1; i <= isRun(year_slt.value); i++) {
				var day = document.createElement(‘option‘);
				day.value = i;
				day.innerText = i;
				day_slt.appendChild(day);
			}
		}

	}
</script>

  以上是老师的版本,相较有多处更加简洁的写法,值得以后借鉴

时间: 2024-08-11 01:33:50

年月日 日期选择问题的相关文章

利用select实现年月日三级联动的日期选择效果

× 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介绍 演示 规划 默认情况下,年.月.日分别由3个select控件组成,id分别为sel1,sel2,sel3.它们且所包含的option[0]的值,分别为'年'.'月'.'日' 年份范围为1900-2100,月份范围为1-12,天的范围为1-31 年份范围.月份范围是不变的.而天的范围根据实际日期的

JS年月日三级联动下拉框日期选择代码

原博客网址: http://www.cnblogs.com/gdcgy/p/5467742.html 由于工作中涉及到生日编辑资料编辑,年月日用上面网址案例:bug提示: 编辑生日栏的[年]或者[月],之前保存的具体的[日]就不显示啦,产品说不管编辑哪个数据,其他数据不变: 然后自己改了一下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xh

用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)

本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.android实现自绘日期选择控件 目的: 通过一个相对复杂的自定义自绘控件来分享: 1.ios以及android自定义自绘控件的开发流程 2.objc与c/c++混合编程 3.android ndk的环境配置,android studio ndk的编译模式,swig在android ndk开发中的作

jquery做个日期选择适用于手机端

第一步:做个 文本框用于显示年月日的 第二步:点击文本框触发bootstrap模态框并显示 第三步:我是建一个外部js页面写的 js中获得当前时间是年份和月份,形如:201208       //获取完整的日期 var date=new Date; var year=date.getFullYear();  var month=date.getMonth()+1; month =(month<10 ? "0"+month:month);  var mydate = (year.t

easyUI自带的时间插件日期选择、月份选择、时间选择的使用

1.日期选择 只要将class设置成easyui-datebox就可以了,当然前提是已经应用了easyui的js <input type="text" class="easyui-datebox" id="datetime"> 2.时间选择 默认的时间选择是精确到年月日时分秒的,只要把class设置成easyui-datetimebox就可以实现 <input type="text" id="dat

原创控件代码共享--日期选择控件

思路:实现日期年月日的选择 1.可以设定年的起止年份 2.排除不正确日期选择的可能 3.使用javascript实现控制 4.使用Text属性方便获取设置日期值 ================================= 代码如下: using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.IO; using

Android项目实战(二十九):酒店预定日期选择

原文:Android项目实战(二十九):酒店预定日期选择 先看需求效果图:              几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果"开始日期" "结束日期" 相同  (2).如果"开始日期" "结束日期" 不同,且"结束日期" 晚于 "开始日期&quo

Easyui datebox单击文本框显示日期选择

Easyui默认是点击文本框后面的图标显示日期,为了更进一步优化体验 修改为单击文本框显示日期选择框 修改jquery.easyui.min.js(作者用的是1.3.6版本,其他版本或有区别) 可 ctrl+f 搜索 "_outerWidth():0" 在本行下面添加如下代码: // datebox单击文本框出现日期选择 start if ($(_83f).hasClass("datebox-f")) { _844.click(function() { _845.c

mobiscroll日期选择插件移动端插件文本选择插件

移动端选择插件mobiscroll的使用demo 一开始是弄个日期选择的插件,网上看到这个mobiscroll这个插件,然后各种下各种找demo,最后自己研究了一天下面把自己项目的demo拔出来分享给大家(以及文件下载),多多海涵,如果大家看了我的这文章有更好的写法还望赐教~ 首先是常用的日期使用: HTML部分: <li id="birthday"> <div class="mbase-menu-title">生日</div>