bootstrap之双日历时间段选择控件Date Range Picker

Date Range Picker: http://www.daterangepicker.com/

参考:bootstrap之双日历时间段选择控件—daterangepicker(汉化版)

下面实现同一页面中 多个 爽日历时间段选择控件 的初始化:

部分 html 代码如下:

<span style="font-size:18px;"><h5 class="tit-header">新增关注人数统计</h5>
                <div class="form-control pull-right daterange">
                    <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
                    <span></span> <b class="caret"></b>
                </div>
                <div id="increase-chart" class="ibox" style="width: 100%;height:220px;"></div>


                <h5 class="tit-header">取消关注人数统计</h5>
                <div class="ibox">
                    <div class="form-control pull-right daterange">
                        <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
                        <span></span> <b class="caret"></b>
                    </div>
                </div>
                <div id="increase-chart" class="ibox" style="width: 100%;height:220px;"></div>


                <h5 class="tit-header">净增关注人数统计</h5>
                <div class="ibox">
                    <div class="form-control pull-right daterange">
                        <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
                        <span></span> <b class="caret"></b>
                    </div>
                </div>
                <div id="increase-chart" class="ibox" style="width: 100%;height:220px;"></div>


                <h5 class="tit-header">累积关注人数</h5>
                <div class="ibox">
                    <div class="form-control pull-right daterange">
                        <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
                        <span></span> <b class="caret"></b>
                    </div>
                </div>
                <div id="increase-chart" class="ibox" style="width: 100%;height:220px;"></div></span>

其中关键代码为:
<span style="font-size:18px;"><div class="form-control pull-right daterange">
                        <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> 
                        <span></span> <b class="caret"></b>
                    </div></span>

定义控件结构样式。
使用 js 对该控件进行初始化:
$(function() {
        initDateRangePicker();
    });

    // 初始化 日期范围选择器
    function initDateRangePicker() {
        $('.daterange span').html(moment().subtract(7, 'days').format('YYYY-MM-DD') + ' 至 ' + moment().subtract(1, 'days').format('YYYY-MM-DD'));

        $('.daterange').daterangepicker({
            startDate: moment().subtract(7, 'days'),
            endDate: moment().subtract(1, 'days'),
            maxDate: moment().subtract(1, 'days'),
            ranges: {
                '最近7天': [moment().subtract(7, 'days'), moment().subtract(1, 'days')],
                '最近15天': [moment().subtract(15, 'days'), moment().subtract(1, 'days')],
                '最近30天': [moment().subtract(30, 'days'), moment().subtract(1, 'days')]
            },
            locale: {
                applyLabel : '确定',
                cancelLabel : '取消',
                fromLabel : '起始时间',
                toLabel : '结束时间',
                customRangeLabel : '自定义',
                daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],
                monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月',
                    '七月', '八月', '九月', '十月', '十一月', '十二月' ],
                firstDay : 1
            }
        }, function(start, end, label) {//格式化日期显示框

            console.log(label);


            var iconCalendar = '<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>';
            var iconCaret = '<b class="caret"></b>';

            this.element.html(iconCalendar + '  <span>' + start.format('YYYY-MM-DD') + ' 至 ' + end.format('YYYY-MM-DD') + '</span> ' + iconCaret);
        });
    }

       需要注意的是:多个日历时间段选择控件初始化中的回调方法(当选择时间段后被触发的函数),为对修改了日期的控件进行修改,而不是全部控件进行修改,需要使用到 this.element 获取当前被修改的空间的 .daterange jQ对象,并进行相应的日期修改。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值