基于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 创建Dom元素
May 07 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
Dec 03 Javascript
Vue.js结合bootstrap实现分页控件
Mar 10 Javascript
AngularJS 异步解决实现方法
Jun 12 Javascript
vue 实现剪裁图片并上传服务器功能
Mar 01 Javascript
快速处理vue渲染前的显示问题
Mar 05 Javascript
微信小程序methods中定义的方法互相调用的实例代码
Aug 07 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
Jun 03 Javascript
Vue代码整洁之去重方法整理
Aug 06 Javascript
VUE 动态组件的应用案例分析
Dec 02 Javascript
Vue vee-validate插件的简单使用
Jun 22 #Vue.js
基于JavaScript实现省市联动效果
JavaScript实现简单计时器
React实现动效弹窗组件
关于React Native 无法链接模拟器的问题
React-vscode使用jsx语法的问题及解决方法
vue3使用vue-router的完整步骤记录
You might like
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
Python中join和split用法实例
2015/04/14 Python
python 美化输出信息的实例
2018/10/15 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
秦兵马俑教学反思
2014/02/07 职场文书
施工员岗位职责
2014/03/16 职场文书
2014年财政所工作总结
2014/11/22 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
浅析Python OpenCV三种滤镜效果
2022/04/11 Python