基于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 相关文章推荐
js给onclick赋值传参数的两种方法
Nov 25 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
JavaScript实现自动变换表格边框颜色
May 08 Javascript
jquery实现图片预加载
Dec 25 Javascript
在Html中使用Requirejs进行模块化开发实例详解
Apr 15 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
Aug 05 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
Feb 11 Javascript
npm国内镜像 安装失败的几种解决方案
Jun 04 Javascript
vue使用Proxy实现双向绑定的方法示例
Mar 20 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
Sep 24 Javascript
JS前端可视化canvas动画原理及其推导实现
Aug 05 Javascript
Vue vee-validate插件的简单使用
Jun 22 #Vue.js
基于JavaScript实现省市联动效果
JavaScript实现简单计时器
React实现动效弹窗组件
关于React Native 无法链接模拟器的问题
React-vscode使用jsx语法的问题及解决方法
vue3使用vue-router的完整步骤记录
You might like
转PHP手册及PHP编程标准
2006/12/17 PHP
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/02/09 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
js实现全选和全不选
2020/07/28 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现优先级队列结构的方法详解
2016/06/02 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
python随机模块random使用方法详解
2020/02/14 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
如何利用python发送邮件
2020/09/26 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
开业庆典答谢词
2014/01/18 职场文书
园艺师求职信
2014/04/27 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
初中英语教学反思范文
2016/02/15 职场文书