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 相关文章推荐
jquery复选框CHECKBOX全选、反选
Aug 30 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
一个简单的jquery的多选下拉框(自写)
May 05 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 Javascript
js判断上传文件后缀名是否合法
Jan 28 Javascript
jQuery EasyUI提交表单验证
Jul 19 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
Mar 09 Javascript
详解vue2.0 资源文件assets和static的区别
Nov 27 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 Javascript
JS定时器如何实现提交成功提示功能
Jun 12 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
PHP制作图型计数器的例子
2006/10/09 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
Yii2单元测试用法示例
2016/11/12 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
Javascript 跨域访问解决方案
2009/02/14 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python跳出双层for循环的解决方法
2019/06/24 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
应届生面试求职信
2014/07/02 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
工程承包协议书
2014/10/20 职场文书
工作保证书怎么写
2015/02/28 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
记者节感言
2015/08/03 职场文书
课题研究阶段性总结
2015/08/13 职场文书
python pyhs2 的安装操作
2021/04/07 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL