由于工作中涉及到生日编辑资料编辑,年月日用上面网址案例:bug提示:

编辑生日栏的【年】或者【月】,之前保存的具体的【日】就不显示啦,产品说不管编辑哪个数据,其他数据不变;

然后自己改了一下代码:

content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>

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

请选择 年

选择 月

选择 日

var changeDD = 1;//->一个全局变量

function YYYYMMDDstart() {

MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

//先给年下拉框赋内容

var y = new Date().getFullYear();

for (var i = (y - 47); i < (y + 21); i++) //以今年为准,前30年,后30年

document.reg_testdate.YYYY.options.add(new Option(" " + i + " 年", i));

//赋月份的下拉框

for (var i = 1; i < 13; i++)

document.reg_testdate.MM.options.add(new Option(" " + i + " 月", i));

document.reg_testdate.YYYY.value = y;

document.reg_testdate.MM.value = new Date().getMonth() + 1;

var n = MonHead[new Date().getMonth()];

if (new Date().getMonth() == 1 && IsPinYear(YYYYvalue)) n++;

writeDay(n); //赋日期下拉框

//->赋值给日,为当天日期

// document.reg_testdate.DD.value = new Date().getDate();

}

if (document.attachEvent)

window.attachEvent("onload", YYYYMMDDstart);

else

window.addEventListener('load', YYYYMMDDstart, false);

function YYYYDD(str) //年发生变化时日期发生变化(主要是判断闰平年)

{

var MMvalue = document.reg_testdate.MM.options[document.reg_testdate.MM.selectedIndex].value;

if (MMvalue == "") {

// var e = document.reg_testdate.DD;

optionsClear(e);

return;

}

var n = MonHead[MMvalue - 1];

if (MMvalue == 2 && IsPinYear(str)) n++;

writeDay(n)

}

function MMDD(str) //月发生变化时日期联动

{

var YYYYvalue = document.reg_testdate.YYYY.options[document.reg_testdate.YYYY.selectedIndex].value;

if (YYYYvalue == "") {

var e = document.reg_testdate.DD;

optionsClear(e);

return;

}

var n = MonHead[str - 1];

if (str == 2 && IsPinYear(YYYYvalue)) n++;

writeDay(n)

}

function writeDay(n) //据条件写日期的下拉框

{

var e = document.reg_testdate.DD;

optionsClear(e);

for (var i = 1; i < (n + 1); i++)

{

e.options.add(new Option(" " + i + " 日", i));

if(i == changeDD){

e.options[i].selected = true; //->保持选中状态

}

}

console.log(i);

console.log(changeDD);

}

function IsPinYear(year) //判断是否闰平年

{

return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0));

}

function optionsClear(e) {

e.options.length = 1;

}

//->随时监听日的改变

function DDD(str){

changeDD = str;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html下拉框选择日期,javascript实现日期三级联动下拉框选择菜单相关推荐

  1. html地区选择js,JavaScript实现省市区三级联动

    JavaScript实现省市区三级联动 之前的文章中我们说到过如何利用JavaScript实现二级联动,这次我们来说说如何利用JavaScript实现三级联动.效果如图: HTML代码:请选择省份:请 ...

  2. 微信小程序下拉框插件_微信小程序三级联动下拉框插件

    //点击事件,点击弹出选择页 areaTap: function () { this.setData({ addressMenuIsShow:true }) }, cityCancel: functi ...

  3. java省市县联动 下拉框选择_原生JavaScript实现动态省市县三级联动下拉框菜单实例代码...

    像平时购物选择地址时一样,通过选择的省动态加载城市列表,通过选择的城市动态加载县区列表,从而可以实现省市县的三级联动,下面使用原生的JavaScript来实现这个功能: 先给大家展示下测试结果: 未做 ...

  4. 2018最新版省市区三级联动下拉框+所有源代码以及数据库

    2018年国家统计局最新数据,JSP+Servlet+Dao实现省市区三级联动下拉框的效果 DropdownDAO.java -–Dao层 package com;import java.sql.Co ...

  5. dropdownlist三级联动怎么实现_Excel下拉菜单不会做?15秒教会你制作一二三级联动下拉菜单,从此做表不求人!...

    Hi,各位叨友们好呀!我是叨叨君~ 我们都知道,在使用Excel表格统计数据的时候,为了方便录入,通常会在Excel中设置下拉菜单,以便我们输入相同的内容. 那么,Excel中一级.二级.三级联动下拉 ...

  6. dw二级联动下拉菜单插件 宋君墨_Excel下拉菜单不会做?15秒教会你制作一二三级联动下拉菜单,从此做表不求人!...

    Hi,各位叨友们好呀!我是叨叨君~ 我们都知道,在使用Excel表格统计数据的时候,为了方便录入,通常会在Excel中设置下拉菜单,以便我们输入相同的内容. 那么,Excel中一级.二级.三级联动下拉 ...

  7. python三级联动菜单_Excel–这才是三级联动下拉菜单的正确做法

    Excel–这才是三级联动下拉菜单的正确做法,跟二级联动菜单完全不同! 文章来源:企鹅号 - Excel学习世界 今天教大家制作三级联动下拉菜单. 很多同学以为三级联动下拉做法跟二级联动下拉菜单是一样 ...

  8. 根据省份证号前6位数字生成的三级联动下拉菜单

    <Script language="JavaScript"> // 定义一级数组 var D0=new Array('("北京市","11 ...

  9. 中国地区三级联动下拉菜单的实现

    1.首先是js文件(area.js): 1 function Dsy() 2 { 3 this.Items = {}; 4 } 5 Dsy.prototype.add = function(id,iA ...

  10. 中国地区三级联动下拉菜单

    原文地址为: 中国地区三级联动下拉菜单 <html> <head> <meta http-equiv="Content-Type" content=& ...

最新文章

  1. 如何发布自己的NPM包(模块)?
  2. 空间句法软件_【特训营2:空间句法高阶班】GIS中的空间句法运用 丨城市数据派...
  3. 浅析Banner设计
  4. 使用ABAP操作Excel的几种方法
  5. shields 徽标_到处都有平面徽标
  6. 同宿舍程序员毕业五年后:有人年薪百万,有人月薪一万
  7. simulink模块使用记录1-mux/demux/clock/realtion operator
  8. 拼多多再次超越京东:盘中市值一度超700亿美金
  9. 李迟2021年7月知识总结
  10. PLSQL Split分割字符串
  11. javascript的语法结构
  12. 阿里腾讯百度们已经占据了全球互联网半壁江山!
  13. acad.exe 中的 0x25c70fc2 (???.arx) 处最可能的异常: 0xC0000005: 读取位置 0x0000009c 时发生访问冲突
  14. php获取qq头像地址,使用PHP语言通过邮箱获取全球公认的Gravatar头像地址
  15. 什么是DDD开发模式
  16. 计算机电源安装,手把手教你正确安装主机电源
  17. 【小白】用python写一个单向聊天室
  18. 浅探PWM整流器的开环整流模式
  19. 新建springboot项目一直转圈圈
  20. JAVA必背面试题和项目面试通关要点

热门文章

  1. 1.1.1.1校园网_突破校园网限制,开启寝室Wifi
  2. 网络安全攻防实验室通关教程-脚本关
  3. java jshell_java9系列(一)安装及jshell使用
  4. 104规约使用总结(三)——报文解析
  5. 不安装iTunes实现USB数据线与电脑传文件
  6. 百度网盘破解版,满速下载不限速【转载,亲测有效】
  7. VMware Workstation 虚拟机中的 虚拟机访问物理机(仅主机模式)
  8. c语言的单片机delay延时函数详解
  9. mobi电子书中删除多余的空格
  10. SAP中计划策略的后台配置框架分析解读