4

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

4

4 回答 4

3

我的解决方案是

$(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);

});
于 2019-01-10T04:41:46.513 回答
2
ranges: {
    'Today': [moment(), moment()],
    'This Week': [moment().startOf('week'), moment()],
    'This Month': [moment().startOf('month'), moment().endOf('month')],
    'All Time': [null, null]
}
于 2017-03-24T22:18:51.837 回答
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()],
            }
于 2018-10-29T06:35:42.020 回答
-2

你可以做类似的事情 -

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

编辑您的

日期范围选择器.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');
                }
            }
        }

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

于 2019-07-11T04:13:29.017 回答