如何一直显示daterangepicker?

时间:2016-09-14 13:30:28

标签: datepicker daterangepicker bootstrap-daterangepicker

我需要一直显示daterangepicker - 而不是像defualt那样的弹出窗口。有可能吗?

4 个答案:

答案 0 :(得分:1)

.up

答案 1 :(得分:0)

ranges: {
                'Today': [moment(), moment()],                
                'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                'Last 7 Days': [moment().subtract(6, 'days'), moment()],
                'Last 30 Days': [moment().subtract(29, 'days'), moment()],
                'This Month': [moment().startOf('month'), moment().endOf('month')],
                'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
                'This Year': [moment().startOf('year'), moment()],
                'Last Year': [moment().subtract(1, 'year').add(1,'day'), moment()],
                'All Time': ['01/01/2018', moment()],
            }

答案 2 :(得分:0)

我的解决方法是

$(function() {

    var start = moment('1970-01-01');
    var end = moment();

    function cb(start, end) {
        if(start.format('DD/MM/YYYY') == '01/01/1970') {
            $('#reportrange span').html('All time');
        }else {
            $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
        }
    }

    $('#reportrange').daterangepicker({
        startDate: start,
        endDate: end,
        ranges: {
           'All time': [moment('1970-01-01'), moment()],
           'Today': [moment(), moment()],
           'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
           'Last 7 Days': [moment().subtract(6, 'days'), moment()],
           'Last 30 Days': [moment().subtract(29, 'days'), moment()],
           'This Month': [moment().startOf('month'), moment().endOf('month')],
           'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
        }
    }, cb);

    cb(start, end);

});

答案 3 :(得分:0)

您可以执行类似-

ranges: {
           'All time':[null,null],
           ....

编辑您的

  

daterangepicker.js

第1532行为

updateElement: function() {
            if (this.element.is('input') && this.autoUpdateInput) {
                var newValue = this.startDate.format(this.locale.format);
                if (!this.singleDatePicker) {
                    newValue += this.locale.separator + this.endDate.format(this.locale.format);
                }
                if(newValue == "Invalid date - Invalid date"){
                    this.element.val("All Time").trigger('change');
                }
                else if (newValue !== this.element.val()) {
                    this.element.val(newValue).trigger('change');
                }
            }
        }

如有任何疑问,请告诉我。