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 相关文章推荐
javascript下判断一个元素是否存在的代码
Mar 05 Javascript
javascript 广告后加载,加载完页面再加载广告
Nov 25 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
图解js图片轮播效果
Dec 20 Javascript
客户端验证用户名和密码的方法详解
Jun 16 Javascript
引用jquery框架后出错的解决方法
Aug 09 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
vue v-model表单控件绑定详解
May 17 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
原生js实现点击轮播切换图片
Feb 11 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
基于laravel制作APP接口(API)
2016/03/15 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python 加密与解密小结
2018/12/06 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
建筑工程自我鉴定
2013/10/18 职场文书
安全生产投入制度
2014/01/29 职场文书
入学申请自荐信范文
2014/02/26 职场文书
房产委托公证书
2014/04/08 职场文书
初中家长评语大全
2014/12/26 职场文书
新生儿未入户证明
2015/06/23 职场文书
2016新年致辞
2015/08/01 职场文书
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL