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 相关文章推荐
浅析JS中document对象的一些重要属性
Mar 06 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
jQuery 中DOM 操作详解
Jan 13 Javascript
js获取页面description的方法
May 21 Javascript
JavaScript核心语法总结(推荐)
Jun 02 Javascript
JavaScript Ajax实现异步通信
Dec 14 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 Javascript
vue axios用法教程详解
Jul 23 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
Javascript实现运算符重载详解
Apr 07 Javascript
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 Javascript
小试小程序云开发(小结)
Jun 06 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
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
PHP对象实例化单例方法
2017/01/19 PHP
PHP静态成员变量
2017/02/14 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
js判断输入是否为数字的具体实例
2013/08/03 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
angular 服务随记小结
2019/05/06 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python pyheatmap包绘制热力图
2018/11/09 Python
django-allauth入门学习和使用详解
2019/07/03 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
英国二手物品交易网站:Preloved
2017/10/06 全球购物
复古服装:RetroStage
2019/05/10 全球购物
中专生的个人自我评价
2013/12/11 职场文书
2014年计算机专业个人自我评价
2014/01/19 职场文书
运动会广播稿20字
2015/08/19 职场文书
承诺书应该怎么写?
2019/09/10 职场文书