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 相关文章推荐
jQuery ready函数滥用分析
Feb 16 Javascript
关于js类的定义
Jun 28 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
Dec 10 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
js仿微信语音播放实现思路
Dec 12 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
Mar 14 Javascript
Angular利用trackBy提升性能的方法
Jan 26 Javascript
浅谈AngularJS中$http服务的简单用法
May 15 Javascript
element-ui 关于获取select 的label值方法
Aug 24 Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 Javascript
详解TypeScript中的类型保护
Apr 29 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
js原型链原理看图说明
2012/07/07 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
toString.call()通用的判断数据类型方法示例
2020/08/28 Javascript
原生js实现购物车功能
2020/09/23 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
Python利用IPython提高开发效率
2016/08/10 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
python Cartopy的基础使用详解
2020/11/01 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
机械设计及其自动化求职推荐信
2014/02/17 职场文书
人力资源作业细则
2014/03/03 职场文书
高级工程师英文求职信
2014/03/19 职场文书
2014年工程师工作总结
2014/11/25 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书