如何从 daterangepicker 中获取选定的值?

Posted

技术标签:

【中文标题】如何从 daterangepicker 中获取选定的值?【英文标题】:How do i get selected Value from daterangepicker? 【发布时间】:2021-07-13 06:44:57 【问题描述】:

我想在从 datepicker 中选择后使用以下代码获取 startDate 和 endDate,这样我就可以进行 ajax 回调但没有打印任何内容。

这是 html 部分?

<div id="reportrange" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
    <i class="fa fa-calendar"></i>&nbsp;
       <span></span> <i class="fa fa-caret-down">
   </i>
</div>

这是我的 jquery 部分

   $('#reportrange').daterangepicker(
        startDate: start,
        endDate: end,
        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).on("change", function() 

 $('#reportrange').daterangepicker( opens: 'left' , function(start, end, label) 
    console.log("Your Select date range is: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
  );


);

    cb(start, end);

【问题讨论】:

【参考方案1】:

您可以使用 daterangepicker 的 apply.daterangepicker event 执行此操作。下面是在选择范围时获取 daterangepicker 的选定开始和结束日期的演示。

$(function () 

    var start = moment().subtract(29, '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,
        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).on('apply.daterangepicker', function (ev, picker) 
        var startDate = picker.startDate.format('YYYY-MM-DD');
        var endDate = picker.endDate.format('YYYY-MM-DD');
        console.log(`startDate = $startDate, endDate = $endDate`);
    );

    cb(start, end);

);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js" integrity="sha512-XKa9Hemdy1Ui3KSGgJdgMyYlUg1gM+QhL6cnlyTe2qzMCYm4nAZ1PsVerQzTTXzonUR+dmswHqgJPuwCq1MaAg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-daterangepicker/3.0.5/daterangepicker.min.js" integrity="sha512-mh+AjlD3nxImTUGisMpHXW03gE6F4WdQyvuFRkjecwuWLwD2yCijw4tKA3NsEFpA1C3neiKhGXPSIGSfCYPMlQ==" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css" integrity="sha512-P5MgMn1jBN01asBgU0z60Qk4QxiXo86+wlFahKrsQf37c9cro517WzVSPPV1tDKzhku2iJ2FVgL67wG03SGnNA==" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-daterangepicker/3.0.5/daterangepicker.min.css" integrity="sha512-rBi1cGvEdd3NmSAQhPWId5Nd6QxE8To4ADjM2a6n0BrqQdisZ/RPUlm0YycDzvNL1HHAh1nKZqI0kSbif+5upQ==" crossorigin="anonymous" />
<div id="reportrange" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
    <i class="fa fa-calendar"></i>&nbsp;
       <span></span> <i class="fa fa-caret-down">
   </i>
</div>

【讨论】:

以上是关于如何从 daterangepicker 中获取选定的值?的主要内容,如果未能解决你的问题,请参考以下文章

MaterialDatePicker 获取选定的日期

如何在 ASP.NET (C#) 中获取 DateRangePicker 控件值

获取 daterangepicker bootstrap 的值

如何从 UITextView 获取选定的文本框

如何从QTableView中获取选定的行数

如何从 DataTables 中的选定数据中获取数据