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实现的动态文字变换
Jul 28 Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 Javascript
js控制容器隐藏出现防止样式变化的两种方法
Apr 25 Javascript
Bootstrap轮播插件简单使用方法介绍
Jun 21 Javascript
工厂模式在JS中的实践
Jan 18 Javascript
javascript实现延时显示提示框效果
Jun 01 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
Nov 16 Javascript
基于vue.js组件实现分页效果
Dec 29 Javascript
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
详解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
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
Array.prototype.slice 使用扩展
2010/06/09 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Django框架 querySet功能解析
2019/09/04 Python
python队列原理及实现方法示例
2019/11/27 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
2014年社区学雷锋活动总结
2014/03/09 职场文书
介绍信的格式
2015/01/30 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
赞美教师的句子
2019/09/02 职场文书
Django模型层实现多表关系创建和多表操作
2021/07/21 Python