BootStrap daterangepicker 双日历控件


Posted in Javascript onJune 02, 2017

bootstrap-daterangepicker点击下载

需要bootstrap跟jquery的支持。

实例代码:

<!DOCTYPE html> 
<html> 
 <head> 
 <meta charset="UTF-8"> 
 <title></title> 
 <link href="bootstrap/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet"> 
 <link rel="stylesheet" type="text/css" media="all" href="daterangepicker/daterangepicker.css" rel="external nofollow" /> 
 </head> 
 <body> 
 <form class="form-inline"> 
  <div id="divDateId" class="pull-left dateRange"> 
  <input class="form-control" id="searchDate"></input> 
  <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
  </div> 
 </form> 
 </body> 
 <script type="text/javascript" src="jquery/1.12.4/jquery.min.js" ></script> 
 <script type="text/javascript" src="bootstrap/js/bootstrap.min.js" ></script> 
 <script type="text/javascript" src="daterangepicker/moment.min.js" ></script> 
 <script type="text/javascript" src="daterangepicker/daterangepicker.js" ></script> 
 <script type="text/javascript"> 
 //默认三十天 
 $('#divDateId input').val(moment().subtract('days', 29).format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD')); 
 $('#divDateId').daterangepicker({ 
  minDate: '01/01/2015', //最小时间 
  maxDate : moment(), //最大时间 
  dateLimit : { 
  days : 365*5 
  }, //起止时间的最大间隔 
  showDropdowns : true, 
  showWeekNumbers : false, //是否显示第几周 
  timePicker : false, //是否显示小时和分钟 
  timePickerIncrement : 60, //时间的增量,单位为分钟 
  timePicker12Hour : false, //是否使用12小时制来显示时间 
  ranges : { 
  //'最近1小时': [moment().subtract('hours',1), moment()], 
  '今日': [moment().startOf('day'), moment()], 
  '昨日': [moment().subtract('days', 1).startOf('day'), moment().subtract('days', 1).endOf('day')], 
  '最近7日': [moment().subtract('days', 6), moment()], 
  '最近30日': [moment().subtract('days', 29), moment()] 
  }, 
  opens : 'right', //日期选择框的弹出位置 
  buttonClasses : [ 'btn btn-default' ], 
  applyClass : 'btn-small btn-primary blue', 
  cancelClass : 'btn-small', 
  format : 'YYYY-MM-DD', //控件中from和to 显示的日期格式 
  separator : ' to ', 
  locale : { 
  applyLabel : '确定', 
  cancelLabel : '取消', 
  fromLabel : '起始时间', 
  toLabel : '结束时间', 
  customRangeLabel : '自定义', 
  daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ], 
  monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月', 
    '七月', '八月', '九月', '十月', '十一月', '十二月' ], 
    firstDay : 1 
  } //汉化日期控件 
 }, function(start, end, label) { 
  //格式化日期显示框 
  $('#searchDate').val(start.format('YYYY-MM-DD') + ' - ' + end.format('YYYY-MM-DD')); 
 }); 
 </script> 
</html>

实例图片:

BootStrap daterangepicker 双日历控件

参数说明:

`startDate`: (Date object, moment object or string) 起始时间
`endDate`: (Date object, moment object or string) 结束时间
`minDate`: (Date object, moment object or string) 可选最早时间
`maxDate`: (Date object, moment object or string) 可选最迟时间
`timePicker`: (boolean) 是否显示time选择
`timePickerIncrement`: (number) time选择递增数
`timePicker12Hour`: (boolean) 是否12小时制
`opens`: (string: 'left'/'right') 显示在元素左边还是右边
`buttonClasses`: (array) 按钮样式
`applyClass`: (string) 应用按钮样式
`cancelClass`: (string) 取消按钮样式
`format`: (string) date/time格式
`separator`: (string) 分隔符
`locale`: (object) 本地设置
`singleDatePicker`: (boolean) 是否是单个时间选择器
`parentEl`: (string) 将控件放到哪个元素内,默认body

其中有一个小需求调整,当我们直接使用源码选择时,为啦方便用户操作,控件在下拉选择月份时,自动帮我们刷新啦另一个控件上的日期,两个日期相差都在一个月,比如我选择1月到6月时,两个日期面板上显示不上一个1月,一个六月,如图:

BootStrap daterangepicker 双日历控件

如果不需要这种变化,可以修改daterangepicker.js的代码:

注释1444行跟1445行,1448跟1449行,不让它自动去改变日期面板:

BootStrap daterangepicker 双日历控件

在注释掉582行:

BootStrap daterangepicker 双日历控件

这样就能达到改变日期不改变面板的效果啦:

BootStrap daterangepicker 双日历控件

以上所示是小编给大家介绍的BootStrap daterangepicker 双日历控件,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复的,在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 选择器理解
Mar 16 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
May 19 Javascript
省市区三级联动jquery实现代码
Apr 15 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
Nov 06 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
Dec 25 Javascript
Vue Ajax跨域请求实例详解
Jun 20 Javascript
ES6正则表达式扩展笔记
Jul 25 Javascript
jQuery 利用ztree实现树形表格的实例代码
Sep 27 jQuery
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
Aug 06 Javascript
vue实现前端列表多条件筛选
Oct 26 Javascript
ES6中箭头函数的定义与调用方式详解
Jun 02 #Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 #Javascript
javascript实现延时显示提示框效果
Jun 01 #Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 #jQuery
vue.js 获取当前自定义属性值
Jun 01 #Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 #Javascript
vue快捷键与基础指令详解
Jun 01 #Javascript
You might like
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
最新pycharm安装教程
2020/11/18 Python
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
小学岗位竞聘方案
2014/01/22 职场文书
主题党日活动总结
2014/07/08 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
委托函范文
2015/01/29 职场文书