jQuery的开始和结束日期应针对不同的开始和结束日期执行不同的功能

时间:2018-11-27 08:43:07

标签: javascript jquery date datepicker

我的问题是我想在不同的日期执行不同的功能。我所有的函数执行都取决于我们选择的日期。例如,如果我在代码中选择了过去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>

如果我想为moment()写一个if if,应该怎么做。当我点击不同的日期范围时,我必须执行或触发不同的功能

1 个答案:

答案 0 :(得分:0)

在使用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") {

    }

});
相关问题