基于JavaScript实现年月日三级联动


Posted in Javascript onJune 22, 2021

本文实例为大家分享了JavaScript实现年月日三级联动的具体代码,供大家参考,具体内容如下

基于JavaScript实现年月日三级联动

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>年月日三级联动</title>
</head>
<body onload="initYear(),initMonth()">
<select id="year"></select>年
<select id="month" onchange="initDate()"></select>月
<select id="date"></select>日
<script>
    /**
     * 初始化年
     */
    function initYear() {
        //获得当前年份
        let curYear = new Date().getFullYear();
        //获得年列表对象
        let yearObj = document.getElementById("year");
        yearObj.options.add(new Option("---请选择年---", ""));
        for (let year = curYear; year > curYear - 100; year--) {
            let option = new Option(year, year);
            yearObj.options.add(option);
        }
    }

    /**
     * 初始化月份
     */
    function initMonth() {
        //获得年列表对象
        let monthObj = document.getElementById("month");
        monthObj.options.add(new Option("---请选择月份---", ""));
        for (let month = 1; month <= 12; month++) {
            let option = new Option(month, month);
            monthObj.options.add(option);
        }
    }

    /**
     * 初始化日
     */
    function initDate() {
        let dateObj = document.getElementById("date");
        //获得当月选中月份
        let month = document.getElementById("month").value;
        //当月份选择完毕,再弹出对应日期
        dateObj.options.add(new Option("---请选择日期---", ""));
        //将month转化成数字
        month = parseInt(month);
        //定义每月的天数
        let days = 31;
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                days = 30;
                break;
            case 2:
                //需要判断是否为闰年,获得当前选中的年
                let year = document.getElementById("year").value;
                if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                    days = 29;
                } else {
                    days = 28;
                }
                break;
        }
        //将得到的天数,循环输出
        for (let i = 1; i <= days; i++) {
            let option = new Option(i, i);
            dateObj.options.add(option);
        }
    }
</script>
</body>
</html>

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

Javascript 相关文章推荐
将函数的实际参数转换成数组的方法
Jan 25 Javascript
jQuery 表单验证扩展代码(一)
Oct 11 Javascript
JavaScript中prototype为对象添加属性的误区介绍
Oct 15 Javascript
javascript数组去重方法终极总结
Jun 05 Javascript
直接拿来用的15个jQuery代码片段
Sep 23 Javascript
学习JavaScript鼠标响应事件
Dec 25 Javascript
微信小程序 navigation API实例详解
Oct 02 Javascript
VUE实现一个分页组件的示例
Sep 13 Javascript
JavaScript设计模式之构造函数模式实例教程
Jul 02 Javascript
React注册倒计时功能的实现
Sep 06 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
Vue 引入AMap高德地图的实现代码
Apr 29 Javascript
Vue vee-validate插件的简单使用
Jun 22 #Vue.js
基于JavaScript实现省市联动效果
JavaScript实现简单计时器
React实现动效弹窗组件
关于React Native 无法链接模拟器的问题
React-vscode使用jsx语法的问题及解决方法
vue3使用vue-router的完整步骤记录
You might like
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
Node.js API详解之 timer模块用法实例分析
2020/05/07 Javascript
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python类的基础入门知识
2008/11/24 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
python 多个参数不为空校验方法
2019/02/14 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
学前教育毕业生自荐信
2013/10/29 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
团队经理竞聘书
2014/03/31 职场文书
2015年元旦活动总结
2014/05/09 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
城南旧事观后感
2015/06/11 职场文书
童年读书笔记
2015/06/26 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python