基于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 相关文章推荐
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
javascript作用域问题实例分析
Jul 13 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
js实现消息滚动效果
Jan 18 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
解决vue 按钮多次点击重复提交数据问题
May 10 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
vue中eslintrc.js配置最详细介绍
Dec 21 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
Apr 17 Javascript
原生js实现贪吃蛇游戏
Oct 26 Javascript
微信小程序实现星星评分效果
Nov 01 Javascript
Vue vee-validate插件的简单使用
Jun 22 #Vue.js
基于JavaScript实现省市联动效果
JavaScript实现简单计时器
React实现动效弹窗组件
关于React Native 无法链接模拟器的问题
React-vscode使用jsx语法的问题及解决方法
vue3使用vue-router的完整步骤记录
You might like
人大复印资料处理程序_输入篇
2006/10/09 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python中去空格函数的用法
2014/08/21 Python
深入学习Python中的装饰器使用
2016/06/20 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
python学习基础之循环import及import过程
2018/04/22 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
老生常谈python中的重载
2018/11/11 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
python opencv实现证件照换底功能
2019/08/19 Python
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
渡河少年教学反思
2014/02/12 职场文书
勤奋学习演讲稿
2014/05/10 职场文书
我的中国梦口号
2014/06/16 职场文书
工作散漫检讨书
2014/09/16 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js