jquery编写日期选择器


Posted in Javascript onMarch 16, 2017

使用jquery做一个日期时间选择器,最好使用bootstrap弹窗

实现:

(1)点击文本框弹出窗口;

(2)弹窗里面显示日期时间选择下拉

(3)年份取当前年份前后五年

(4)月份固定12个月

(5)天数根据年份与月份的变化而变化

(6)点击确定,关闭弹窗,文本框里面的时间编程选中时间

1.若是jQuery跟bootstrap弹窗,必须引入文件包;

2.写一个文本框,给他id用来写事件;

3.去bootstrap里面找到模态框,复制,黏上就行了;

jquery编写日期选择器

4.把模态框里没用的东西去掉,并加上三个下拉框;

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>无标题文档</title>
 <script src="dist/js/jquery-1.11.2.min.js"></script>
 <script src="dist/js/bootstrap.min.js"></script>
 <link href="dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" />
</head>
<body>
<!--文本框-->
<input type="text" id="rq"/>
<!--模态框-->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 <div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h4 class="modal-title" id="myModalLabel">日期</h4>
   </div>
   <div class="modal-body">
    <!--    内容-->
    <!--    三个下拉框-->
    <select id="nian"></select>年
    <select id="yue"></select>月
    <select id="ri"></select>日
   </div>
   <div class="modal-footer">

    <!--确定按钮加上事件,用来写点击事件-->
    <button type="button" class="btn btn-primary" id="queding">确定</button>
   </div>
  </div><!-- /.modal-content -->
 </div><!-- /.modal -->
</div>
</body>
</html>

主页的东西都完事了,来写js代码,js代码可以在script标签里写,但是为了清晰,且用于日后方便实用,新建js文件:

5.先让他的文本框里显示一下当前的时间吧:

来写:

//文本框内显示当前时间:
// 准备好:
$(document).ready(function(e){
 // 来获取时间:
 var date = new Date();
 //获取年
 var nian = date.getFullYear();
 //获取月,记得加1
 var yue = date.getMonth()+1;
 //获取天:
 var tian = date.getDate();
 //打印,拼接字符串
 $("#rq").val(nian+"-"+yue+"-"+tian);
});

记得在主页面引用哦!看图:

jquery编写日期选择器

6.来写文本框的点击事件吧,让他点击文本框的时候弹出模态框:

//文本框点击事件:
 $("#rq").click(function(){
  // 手动打开模态框的方法:找到模态框的id,根据Bookstrap里面的方法
  $('#myModal').modal('show');
  // 执行三个方法
  fnian();
  fyue();
  ftian();
 })

这样当我点击文本框:看图:

jquery编写日期选择器

7.点击确定的事件先不要加,因为还要传给他东西,先来写那三个方法吧:

// 写方法,
//加载年份的方法
function Fnian()
{
 //先来取当前年份
 var date = new Date();
 var nian = date.getFullYear();
 // 定义个变量来接收:
 var str = "";
 //for循环走起:
 for(var i=nian-5;i<nian+6;i++)
 {
  //判断若是当前年份,设为value
  if(i==nian)
  {
   str = str + "<option selected='selected' value='" + i + "'>" + i + "</option>";
  }
  else
  {
   //若不是,正常显示
   str = str +"<option value='"+i+"'>"+i+"</option>";
  }
 }
 $("#nian").html(str);
}
//加载月份的方法:
function Fyue()
{
 var date = new Date();
 //获取月,记得加1
 var yue = date.getMonth()+1;
 //先取当前月份:
 var date = new Date();
 var yue = data.getMonth()+1;
 // 定义个变量来接收:
 var str = "";
 // for循环走
 for(var i=1;i<13;i++)
 {
  //判断若是当前月份,设为value
  if(i==yue)
  {

   str = str+"<option selected='selected' value='"+i+"'>"+i+"</option>";
  }
  else
  {
   //若不是,正常显示
   str = str +"<option value='"+i+"'>"+i+"</option>";
  }
 }
 $("#yue").html(str);
 // document.getElementById("yue").innerHTML=str;
}
//加载天的方法
function Ftian()
{
 //获取当天;
 var date = new Date();
 var tian = date.getDate();
 //把月份与年份取过来,用于判断:
 var nian = $("#nian").val();
 var yue = $("#yue").val();
 //设一个总数,判断完成后更改他就好
 var zs = 31;
 //判断来了!
 if(yue==4||yue==6||yue==9||yue==11)
 {
  //若是4.6.9.11月,每月三十天
  zs = 30;
 }
 else if(yue==2)
 {
  //若是2月,再判断,是否为闰年
  if((nian%4==0 && nian%100!=0) || nian%400==0 )
  {
   //若是闰年,2月29天
   zs = 29;
  }
  else
  {
   //否则2月为28天
   zs = 28;
  }
 }
 // for循环搞起
 // 定义个变量来接收:
 var str = "";
 //for循环走起:
 for(i=1;i<zs+1;i++)
 {
  //判断若是当天,设为value
  if(i==tian)
  {
   str = str + "<option selected='selected' value='" + i + "'>" + i + "</option>";
  }
  else
  {
   //若不是,正常显示
   str = str +"<option value='"+i+"'>"+i+"</option>";
  }
 }
 $("#tian").html(str);
}

好。加载年份、月份、天的方法都写完了,上面已经执行了,

看下图:

jquery编写日期选择器

8.再来写确定按钮的点击事件:

先给模态框里面的确定按钮添加上id吧

<button type="button" class="btn btn-primary" id="queding">确定</button>

设置好了id,去写事件:

//最后给确定按钮加点击事件
 $("#queding").click(function(){
  var nian = $("#nian").val();
  var yue = $("#yue").val();
  var tian = $("#tian").val();
  $("#rq").val(nian+"-"+yue+"-"+tian);
  $('#myModal').modal('hide');
 })

点击关闭模态框,并传去数据;

完成图:

jquery编写日期选择器

点击确定:

jquery编写日期选择器

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
该如何加载google-analytics(或其他第三方)的JS
May 13 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
Jun 23 Javascript
JS获取当前网页大小以及屏幕分辨率等
Sep 05 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
Jul 20 Javascript
JQuery获取鼠标进入和离开容器的方向
Dec 29 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
微信小程序实现验证码获取倒计时效果
Feb 08 Javascript
vue框架搭建之axios使用教程
Jul 11 Javascript
利用JS响应式修改vue实现页面的input值
Sep 02 Javascript
微信小程序自定义弹出层效果
May 26 Javascript
jquery事件与绑定事件
Mar 16 #Javascript
Angular使用$http.jsonp发送跨站请求的方法
Mar 16 #Javascript
JSON与js对象序列化实例详解
Mar 16 #Javascript
JS对象的深度克隆方法示例
Mar 16 #Javascript
JS对象深度克隆实例分析
Mar 16 #Javascript
JS异步加载的三种实现方式
Mar 16 #Javascript
Bootstrap免费字体和图标网站(值得收藏)
Mar 16 #Javascript
You might like
第二节--PHP5 的对象模型
2006/11/16 PHP
三种php连接access数据库方法
2013/11/11 PHP
php输入流php://input使用浅析
2014/09/02 PHP
PHP反射学习入门示例
2019/06/14 PHP
制作特殊字的脚本
2006/06/26 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
用Python编写简单的微博爬虫
2016/03/04 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
Europcar比利时:租车
2019/08/26 全球购物
工商管理专业实习生自我鉴定
2013/09/29 职场文书
小学生新学期寄语
2014/01/19 职场文书
师范学院教师自荐书
2014/01/31 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
庆祝国庆节标语
2014/10/09 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
学会感恩主题班会
2015/08/12 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android