跟上我的脚步,让我们来领略代码的世界!

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

实现:

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

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

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

(4)月份固定12个月

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

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

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

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

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

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

代码:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6. <script src="dist/js/jquery-1.11.2.min.js"></script>
  7. <script src="dist/js/bootstrap.min.js"></script>
  8. <link href="dist/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  9. </head>
  10.  
  11. <body>
  12. <!--文本框-->
  13. <input type="text" id="rq"/>
  14.  
  15. <!--模态框-->
  16. <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  17. <div class="modal-dialog">
  18. <div class="modal-content">
  19. <div class="modal-header">
  20. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  21. <h4 class="modal-title" id="myModalLabel">日期</h4>
  22. </div>
  23. <div class="modal-body">
  24. <!-- 内容-->
  25. <!-- 三个下拉框-->
  26. <select id="nian"></select>
  27. <select id="yue"></select>
  28. <select id="ri"></select>
  29. </div>
  30. <div class="modal-footer">
  31.  
  32. <!--确定按钮加上事件,用来写点击事件-->
  33. <button type="button" class="btn btn-primary" id="queding">确定</button>
  34. </div>
  35. </div><!-- /.modal-content -->
  36. </div><!-- /.modal -->
  37. </div>
  38.  
  39. </body>
  40. </html>

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

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

来写:

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

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

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

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

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

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

  1. // 写方法,
  2. //加载年份的方法
  3. function Fnian()
  4. {
  5. //先来取当前年份
  6. var date = new Date();
  7. var nian = date.getFullYear();
  8. // 定义个变量来接收:
  9. var str = "";
  10. //for循环走起:
  11. for(var i=nian-5;i<nian+6;i++)
  12. {
  13. //判断若是当前年份,设为value
  14. if(i==nian)
  15. {
  16. str = str + "<option selected='selected' value='" + i + "'>" + i + "</option>";
  17. }
  18. else
  19. {
  20. //若不是,正常显示
  21. str = str +"<option value='"+i+"'>"+i+"</option>";
  22. }
  23. }
  24. $("#nian").html(str);
  25. }
  26.  
  27. //加载月份的方法:
  28. function Fyue()
  29. {
  30. var date = new Date();
  31. //获取月,记得加1
  32. var yue = date.getMonth()+1;
  33. //先取当前月份:
  34. var date = new Date();
  35. var yue = data.getMonth()+1;
  36. // 定义个变量来接收:
  37. var str = "";
  38. // for循环走
  39. for(var i=1;i<13;i++)
  40. {
  41. //判断若是当前月份,设为value
  42. if(i==yue)
  43. {
  44.  
  45. str = str+"<option selected='selected' value='"+i+"'>"+i+"</option>";
  46. }
  47. else
  48. {
  49. //若不是,正常显示
  50. str = str +"<option value='"+i+"'>"+i+"</option>";
  51. }
  52. }
  53. $("#yue").html(str);
  54. // document.getElementById("yue").innerHTML=str;
  55. }
  56.  
  57. //加载天的方法
  58. function Ftian()
  59. {
  60. //获取当天;
  61. var date = new Date();
  62. var tian = date.getDate();
  63. //把月份与年份取过来,用于判断:
  64. var nian = $("#nian").val();
  65. var yue = $("#yue").val();
  66. //设一个总数,判断完成后更改他就好
  67. var zs = 31;
  68. //判断来了!
  69. if(yue==4||yue==6||yue==9||yue==11)
  70. {
  71. //若是4.6.9.11月,每月三十天
  72. zs = 30;
  73. }
  74. else if(yue==2)
  75. {
  76. //若是2月,再判断,是否为闰年
  77. if((nian%4==0 && nian%100!=0) || nian%400==0 )
  78. {
  79. //若是闰年,2月29天
  80. zs = 29;
  81. }
  82. else
  83. {
  84. //否则2月为28天
  85. zs = 28;
  86. }
  87. }
  88. // for循环搞起
  89. // 定义个变量来接收:
  90. var str = "";
  91. //for循环走起:
  92. for(i=1;i<zs+1;i++)
  93. {
  94. //判断若是当天,设为value
  95. if(i==tian)
  96. {
  97. str = str + "<option selected='selected' value='" + i + "'>" + i + "</option>";
  98. }
  99. else
  100. {
  101. //若不是,正常显示
  102. str = str +"<option value='"+i+"'>"+i+"</option>";
  103. }
  104. }
  105. $("#tian").html(str);
  106. }

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

看下图:

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

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

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

  

设置好了id,去写事件:

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

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

完成图:

点击确定:

jquery写日期选择器的更多相关文章

  1. jQuery UI 日期选择器(Datepicker)

    设置JqueryUI DatePicker默认语言为中文 <!doctype html><html lang="en"> <head> < ...

  2. jQuery cxCalendar 日期选择器

    简介 cxCalendar 是基于 jQuery 的日期选择器插件. 它灵活自由,你可以自定义外观,日期的范围,返回的格式等. 版本: jQuery v1.7+ jQuery cxCalendar v ...

  3. js 写日期选择器

    <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="con ...

  4. jquery双日历日期选择器bootstrap-daterangepicker日历插件

    这个插件既可以作为双日历也可以作为单日历插件(jquery的插件在jquery插件库中http://www.jq22.com/下载很方便,在CSDN下载真麻烦) 引用 <meta http-eq ...

  5. (网页)jQuery UI 实例 - 日期选择器(Datepicker)

    默认功能 日期选择器(Datepicker)绑定到一个标准的表单 input 字段上.把焦点移到 input 上(点击或者使用 tab 键),在一个小的覆盖层上打开一个交互日历.选择一个日期,点击页面 ...

  6. 用Jquery做一个时间日期选择器

    今天我们就用Jquery做一个时间日期选择器,当打开网页时,文本框里面显示的是当前的日期,点击文本框可以出现年.月.日的下拉菜单,并且可以选择,会根据年份的选择判断是否是闰年,从而改变二月的天数,闰年 ...

  7. jquery.datepair日期时分秒选择器

    jquery.datepair是一个轻量级的jQuery插件,智能选择日期和时间范围,灵感来自于谷歌日历.Datepair将保持开始和结束日期/时间同步,并可以根据用户的操作设置默认值.该插件不提供任 ...

  8. 日期选择器:jquery datepicker的使用

    helloweba.com 作者:月光光 时间:2012-04-08 21:05 标签: jquery  datepicker  jquery ui     在jquery ui中,提供了一个非常实用 ...

  9. jquery ui 常用(一)(自动完成 | 标签页 | 折叠面板 | 带图标的按钮 | 日期选择器| )

    条件,引用3个文件 jquery-ui.min.css; jquery.min.js; jquery-ui.min.js. 一.自动完成 http://www.w3cschool.cc/jqueryu ...

随机推荐

  1. Xpath语法格式整理

    http://www.cnblogs.com/Loofah/archive/2012/05/10/2494036.html 经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或 ...

  2. Hadoop学习笔记-003-CentOS_6.5_64_设置ssh免密码登录

    参考:http://blog.csdn.net/u010270403/article/details/51444677 虚拟机中共五个centos系统,每个系统有两个用户root和hadoop:cdh ...

  3. 【开源.NET】 分享一个前后端分离的轻量级内容管理框架

    开发框架要考虑的面太多了:安全.稳定.性能.效率.扩展.整洁,还要经得起实践的考验,从零开发一个可用的框架,是很耗时费神的工作.网上很多开源的框架,为何还要自己开发?我是基于以下两点: 没找到合适的: ...

  4. 算法笔记_017:递归执行顺序的探讨(Java)

    目录 1 问题描述 2 解决方案 2.1 问题化简 2.2 定位输出测试 2.3 回顾总结 1 问题描述 最近两天在思考如何使用蛮力法解决旅行商问题(此问题,说白了就是如何求解n个不同字母的所有不同排 ...

  5. oracle_数据库访问问题

    1.通过JDBC连接数据库时报错“Caused by: oracle.net.ns.NetException: Got minus one from a read call” 网上百度得到: 1:数据 ...

  6. Thinkpad W540通过扩展坞连接显示器后蓝屏原因

    问题:Thinkpad W540通过扩展坞连接显示器后蓝屏 描述:直接扩展连接显示器重启电脑,一直黑屏,等待光标,进不了桌面.分离扩展,进入后,再连接显示器,蓝屏死机. 解决:用尽办法,重装显示驱动, ...

  7. 毕向东udp学习笔记3多线程聊天

    项目功能: 实现了多线程下的发送接收,比较好 希望可以加入GUI,类似聊天软件一样,有一个消息输入框,捕获输入消息,作为发送线程 有一个显示消息框,接收消息并显示,作为接收线程 不知道的是,当在线程中 ...

  8. Node - EJS模板应用(node+express+ejs)

    准备工作: 工具:Webstorm 1. 新建一个文件夹为blogs(随意). 一个js文件app.js. 一个文件夹views,文件夹内一个index.ejs文件,文件夹asstes内style.c ...

  9. JavaScript 深浅拷贝

    JavaScript有五种基本数据类型(Undefined, null, Boolean, String, Number),还有一种复杂的数据类型,就是对象. Undefined 其实是已声明但没有赋 ...

  10. React 笔记

    跟我一起学 React