JS实现时间选择器
源代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> </style>
</head>
<body>
<div id="xsj">
<select id="year" onclick="Reset()"></select>年 <select id="month" onclick="Reset()"></select>月 <select id="date"></select>日 </div>
</body>
<script type="text/javascript">
//创建时间对象
var d = new Date();
//获取当前年份
var year = parseInt(d.getFullYear()); //获取当前月份
var month = parseInt(d.getMonth() + 1); //获取当前日期
var date = parseInt(d.getDate()); //调用添加年份的函数
fillYear();
//调用添加月份的函数
fillMonth();
//调用添加天数的函数
fillDate(); //添加年份的函数
function fillYear () { //定义一个空变量来接收下拉列表中该填入的值
var str = "";
//遍历当前年份的前后五年
for (var i=year-5; i<year+6; i++) {
//设置当前年份为默认选中
if (i == year) {
str = str + "<option selected = 'selected'>"+i+"</option>" } else{
str = str + "<option>"+i+"</option>"
}
}
//将年份添加至下拉列表
document.getElementById("year").innerHTML = str;
} //添加月份的函数
function fillMonth () { var str = ""; //遍历月份
for (var m = 1; m < 13; m++) {
//设置当前月份为默认选中
if (m == month) {
//下拉列表的默认选项
str = str + "<option selected = 'selected'>"+m+"</option>" } else{
//下拉列表的非默认选项
str = str + "<option>"+m+"</option>"
} }
//将月份填充至下拉列表
document.getElementById("month").innerHTML = str; } //添加天数的函数
function fillDate () { //定义初始天数为31天
var days = 31;
//获取选中的年份
var syear = document.getElementById("year").value;
//获取选中的月份
var smonth = document.getElementById("month").value; //判断每个月份的天数
if (smonth==4 || smonth==6 || smonth==9 || smonth==11) {
days = 30;
//
} else if (smonth == 2){
if (syear%4==0 && syear%100!=0 || syear%400 ==0) {
days=29;
} else{
days = 28;
}
}else{
days = 31;
} //
var str = "";
//用循环向下拉列表添加天数
for (var r = 1; r<days+1; r++) {
//设置当前日期为默认选中
if (r == date) { str = str + "<option selected = 'selected'>"+r+"</option>"
} else{
str = str + "<option>"+r+"</option>"
} }
//添加天数
document.getElementById("date").innerHTML = str; } //为年份及月份添加点击事件 用以重置每月天数
function Reset () {
fillDate();
} </script>
</html>
效果如下:

JS实现时间选择器的更多相关文章
- 移动端lCalendar纯原生js日期时间选择器
网上找过很多的移动端基于zepto或jquery的日期选择器,在实际产品中也用过一两种,觉得都不太尽如人意,后来果断选择了H5自己的日期input表单,觉得还可以,至少不用引用第三方插件了,性能也不错 ...
- JS日期时间选择器
本文介绍一种日期和时间选择器的使用方法.此选择器由jqueryUI实现,支持精确到毫秒的时间选择. 此选择器项目地址为http://trentrichardson.com/examples/timep ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- 移动端material风格日期时间选择器
原文 好多时候在移动端需要一个的日期选择器,由于在应用上有可能应用各种框架库(Vue.js, React.js, zepto.js等):所以说一个无依赖的,这样易于上层进行封装.直接开门见山,先来张动 ...
- php时间选择器亲测可以自己修改
由于前端的离职 造成我需要自己去做后台页面 所以有一个要填写生日的我就用了这个时间选择器 <?php /** * Created by PhpStorm. * User: Administ ...
- 一个模拟时钟的时间选择器 ClockPicker
最近开发的一个模拟时钟的时间选择器 ClockPicker,用于 Bootstrap,或者单独作为一个 jQuery 插件. 源代码托管在 GitHub 上: ClockPicker 最近项目中需要用 ...
- 【bootstrap】时间选择器datetimepicker和daterangepicker
在bootstrap中的时间选择器有两种:dateTimePicker和dateRangePicker 1.dateTimePicker好像是官方嫡插件: 需要的文件: <link rel= ...
- iView -- TimePicker 自定义修改时间选择器选择时间面板样式
iView官方组件展示效果: 期望的最终效果: 为什么要修改期望效果? 项目需要只选择小时,分钟跟秒的不需要,而官方并没有直接相关的小时组件或者是设置显示成小时或分钟或秒的时间选择器,因为自己直接修改 ...
- 时间选择器(timepicker)
可以使用Slider拖动选择,也可以使用timespinner改变时间,或者手工填写. 自动判断位置 效果: 源码: <!DOCTYPE html> <html xmlns=&quo ...
随机推荐
- Ubuntu下安装 Mysql
MYSQL在ubuntu16.04下的编译安装mysql-5.6.23.tar.gz 为减少安装过程中因权限带来个各种问题,建议全程用root用户编译安装,步骤如下: 1.安装依赖文件 apt-ge ...
- Vue生命周期 钩子函数和组件传值
Vue生命周期 钩子函数 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等. 同时在这个过程中也会运行一 ...
- Oracle自动备份bat
很多时候我们需要自动备份数据库这边推荐bat+Windows计划任务实现 方案1 创建以下bat 然后添加到TaskSchedule(路径最好不要包含中文) @echo off @echo ===== ...
- SwiftUI中多设备运行方法
https://blog.csdn.net/weixin_42679753/article/details/94465674 https://www.jianshu.com/p/17fc7929fcb ...
- Linux学习-预习第五六七章节关于用户权限管理以及磁盘文件系统
- EditText标签的使用
前文: 介绍EditText的使用,这个是文本输入控件,用来输入文本内容 使用: EditText继承TextView所以TextView的东西EditText都可以使用 text:显示文本 text ...
- wireshark混杂模式
来自:https://blog.csdn.net/mukami0621/article/details/78645825 通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非广播包和非发给自己主 ...
- JD-Store购物网站复盘——20170312
一.商店技术架构 1.主题 2.涉及技术点: 3.核心业务功能 4.角色 5.用户故事 二.实现步骤 专案基础设施 上传图片模块 购物车 订单 支付&寄信 专案源码 三.第三方服务应用 支付 ...
- centos下安装tomcat8.
一.tomcat安装之前,首先安装java jdk,所以手首先将相关安装包都下载传到虚拟机上 1.下载java的linux----jdk1.8安装 到官网上下载与本虚拟机版本位相适应的位节数的Linu ...
- [ cocos2d-JS ] 创建项目命令
cocos new HelloJS -l js -p com.neworigin.HelloJS -d D:\0-Game\cocosJS-project