bootstrap daterangepicker双日历时间段选择控件详解


Posted in Javascript onJune 15, 2017

双日历时间段选择插件 — daterangepicker是bootstrap框架后期的一个时间控件,可以设定多个时间段选项,也可以自定义时间段,由用户自己选择起始时间和终止时间,时间段的最大跨度可以在程序里设定。我们项目里用到的Bootstrap版本是2.3.1,所以我把daterangepicker与Bootstrap-2.3.1进行了整合。  

一、需要引入的css与js 

<link href="bootstrap.min.css" rel="stylesheet">   
<link rel="stylesheet" type="text/css" media="all" href="daterangepicker-bs3.css" /> 
<link rel="stylesheet" type="text/css" media="all" href="daterangepicker-1.3.7.css" /> 
<link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet"> 
 
<script type="text/javascript" src="jquery-1.10.1.min.js"></script> 
<script type="text/javascript" src="bootstrap.min.js"></script> 
<script type="text/javascript" src="moment.js"></script> 
<script type="text/javascript" src="daterangepicker-1.3.7.js"></script>

 二、html部分代码

<div class="page-content"> 
      <!-- BEGIN PAGE CONTAINER--> 
  <div class="container-fluid"> 
    <div class="row-fluid" style="margin-top:5px"> 
      <div class="span4"> 
        <div class="control-group"> 
          <label class="control-label"> 
            日期: 
          </label> 
        <div class="controls"> 
          <div id="reportrange" class="pull-left dateRange" style="width:350px"> 
            <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
            <span id="searchDateRange"></span> 
            <b class="caret"></b> 
          </div> 
        </div> 
      </div> 
    </div> 
  </div> 
</div>

三、使用js调用daterangepicker 

<script type="text/javascript"> 
    $(document).ready(function (){ 
          //时间插件 
          $('#reportrange span').html(moment().subtract('hours', 1).format('YYYY-MM-DD HH:mm:ss') + ' - ' + moment().format('YYYY-MM-DD HH:mm:ss')); 
     
          $('#reportrange').daterangepicker( 
              { 
                // startDate: moment().startOf('day'), 
                //endDate: moment(), 
                //minDate: '01/01/2012',  //最小时间 
                maxDate : moment(), //最大时间  
                dateLimit : { 
                  days : 30 
                }, //起止时间的最大间隔 
                showDropdowns : true, 
                showWeekNumbers : false, //是否显示第几周 
                timePicker : true, //是否显示小时和分钟 
                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 HH:mm:ss', //控件中from和to 显示的日期格式 
                separator : ' to ', 
                locale : { 
                  applyLabel : '确定', 
                  cancelLabel : '取消', 
                  fromLabel : '起始时间', 
                  toLabel : '结束时间', 
                  customRangeLabel : '自定义', 
                  daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ], 
                  monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月', 
                      '七月', '八月', '九月', '十月', '十一月', '十二月' ], 
                  firstDay : 1 
                } 
              }, function(start, end, label) {//格式化日期显示框 
                 
                $('#reportrange span').html(start.format('YYYY-MM-DD HH:mm:ss') + ' - ' + end.format('YYYY-MM-DD HH:mm:ss')); 
              }); 
 
      //设置日期菜单被选项 --开始-- 
     /* 
         var dateOption ; 
         if("${riqi}"=='day') { 
            dateOption = "今日"; 
         }else if("${riqi}"=='yday') { 
            dateOption = "昨日"; 
         }else if("${riqi}"=='week'){ 
            dateOption ="最近7日"; 
         }else if("${riqi}"=='month'){ 
            dateOption ="最近30日"; 
         }else if("${riqi}"=='year'){ 
            dateOption ="最近一年"; 
         }else{ 
            dateOption = "自定义"; 
         } 
          $(".daterangepicker").find("li").each(function (){ 
            if($(this).hasClass("active")){ 
              $(this).removeClass("active"); 
            } 
            if(dateOption==$(this).html()){ 
              $(this).addClass("active"); 
            } 
         });*/ 
            //设置日期菜单被选项 --结束-- 
    }) 
</script>

 四、效果图

bootstrap daterangepicker双日历时间段选择控件详解

五、实例下载地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
图片连续滚动代码[兼容IE/firefox]
Jun 11 Javascript
extjs 初始化checkboxgroup值的代码
Sep 21 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 Javascript
php与js的区别是什么
Aug 05 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
jQuery实现鼠标点击弹出渐变层的方法
Jul 09 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
详解Vuex管理登录状态
Nov 13 Javascript
vue实现树形菜单效果
Mar 19 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
详解react-router如何实现按需加载
Jun 15 #Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 #jQuery
bootstrap daterangepicker汉化以及扩展功能
Jun 15 #Javascript
validationEngine 表单验证插件使用实例代码
Jun 15 #Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 #Javascript
详解react如何在组件中获取路由参数
Jun 15 #Javascript
react-router JS 控制路由跳转实例
Jun 15 #Javascript
You might like
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
js常见遍历操作小结
2019/06/06 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
python数据结构之二叉树的建立实例
2014/04/29 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
基于python绘制科赫雪花
2018/06/22 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
浅析python 字典嵌套
2020/09/29 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
小班秋游活动方案
2014/02/22 职场文书
初中作文评语
2014/12/25 职场文书
五年级学生评语大全
2014/12/26 职场文书
亲属关系公证书样本
2015/01/23 职场文书
Python实现批量自动整理文件
2022/03/16 Python
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python