基于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 相关文章推荐
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
Nov 30 Javascript
基于jquery实现漂亮的动态信息提示效果
Aug 02 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 Javascript
Knockout数组(observable)使用详解示例
Nov 15 Javascript
javascript 按键事件(兼容各浏览器)
Dec 20 Javascript
javascript break指定标签打破多层循环示例
Jan 20 Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
Oct 07 Javascript
Vue表单验证插件Vue Validator使用方法详解
Apr 07 Javascript
微信小程序与后台PHP交互的方法实例分析
Dec 10 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
Vue vee-validate插件的简单使用
Jun 22 #Vue.js
基于JavaScript实现省市联动效果
JavaScript实现简单计时器
React实现动效弹窗组件
关于React Native 无法链接模拟器的问题
React-vscode使用jsx语法的问题及解决方法
vue3使用vue-router的完整步骤记录
You might like
php四种基础算法代码实例
2013/10/29 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
YII框架关联查询操作示例
2019/04/29 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
vue如何从接口请求数据
2017/06/22 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
JS实现放烟花效果
2020/03/10 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
小学生寒假家长评语
2014/04/16 职场文书
生物技术专业求职信
2014/06/10 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书