Даты начала и окончания JQuery должны выполнять разные функции для разных дат начала и окончания - PullRequest
0 голосов
/ 27 ноября 2018

Моя проблема в том, что я хочу выполнять разные функции в разные даты.Все мои функции выполняются в зависимости от выбранных нами дат.Например, если я выбрал последние 7 дней в своем коде, он должен выполнить другую функцию, а если я выбрал последний месяц, он должен выполнить другую функцию.Но когда я нажимаю на кнопку «Применить», я могу выполнить только одну функцию.Я пробовал много кусков кода, но не смог найти ответ.пожалуйста, помогите мне

 $(function() {
var start = moment().subtract(6, 'days');
var end = moment();


function cb(start, end) {
    $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));

}

$('#reportrange').daterangepicker({
    startDate: start,
    endDate: end,
    minDate: moment().subtract(365, 'days'),
    maxDate:moment(),
    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')],
    },
},

    cb)
cb(start, end);
});
$('#reportrange').on('apply.daterangepicker', function() {
 addtoday();
 addyesterday();
 presentmonth1();
 last30days();
 anydate();


  });
  </script>

Если я хочу написать если еще на данный момент (), как это должно быть сделано.Когда я нажимаю на разные диапазоны дат, я должен выполнять или запускать различные функции

1 Ответ

0 голосов
/ 27 ноября 2018

Поскольку вы используете daterangepicker, параметры второго параметра события apply.daterangepicker содержат информацию о выбранной опции, на основе которой вы можете вызывать нужную вам функцию.Смотрите ниже:

$(function () {
    var start = moment().subtract(6, 'days');
    var end = moment();


    function cb(start, end) {
        $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));

    }

    $('#reportrange').daterangepicker({
        startDate: start,
        endDate: end,
        minDate: moment().subtract(365, 'days'),
        maxDate: moment(),
        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')],
        },
    },

        cb)
    cb(start, end);
});
$('#reportrange').on('apply.daterangepicker', function (ev, picker) {

    if (picker.chosenLabel == "Today") {
        addtoday();
    }
    else if (picker.chosenLabel == "Yesterday") {
        addyesterday();
    }
    else if (picker.chosenLabel == "Last 7 Days") {
    }
    else if (picker.chosenLabel == "Last 30 Days") {
        last30days();
    }
    else if (picker.chosenLabel == "This Month") {
        presentmonth1();
    }
    else if (picker.chosenLabel == "Last Month") {

    }
    else if (picker.chosenLabel == "Custom Range") {

    }

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...