美文网首页
时间范围选择插件--Date Range Picker

时间范围选择插件--Date Range Picker

作者: hayao650 | 来源:发表于2021-07-23 14:59 被阅读0次

    最近在做一些简单的前端工作,公司设计给的设计中有个时间范围的选择,类似下图这样:


    daterangepickr.jpg

    由于自己前端经验太少,根本不知道怎么写,就在网上找到一个插件Date Range Picker
    很简单:

    开始

    在文件中引入如下几个文件

    <script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
    

    示例代码

    Simple Date Range Picker With a Callback

    简单的日期范围选择

    <input type="text" name="daterange" value="01/01/2018 - 01/15/2018" />
    
    <script>
    $(function() {
      $('input[name="daterange"]').daterangepicker({
        opens: 'left'
      }, function(start, end, label) {
        console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
      });
    });
    </script>
    

    Date Range Picker With Times

    这是在时间范围中增加时间位

    <input type="text" name="datetimes" />
    
    <script>
    $(function() {
      $('input[name="datetimes"]').daterangepicker({
        timePicker: true,
        startDate: moment().startOf('hour'),
        endDate: moment().startOf('hour').add(32, 'hour'),
        locale: {
          format: 'M/DD hh:mm A'
        }
      });
    });
    </script>
    

    Predifiend Date Ranges

    这是预设时间范围,在选项中给出一些预先设定的范围,比如7天,一个月这种

    <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>
    
    <script type="text/javascript">
    $(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);
    
        cb(start, end);
    
    });
    </script>
    

    这里只列出几种我认为常用的方式,更多功能和属性,请参考Date Range Picker官网

    相关文章

      网友评论

          本文标题:时间范围选择插件--Date Range Picker

          本文链接:https://www.haomeiwen.com/subject/coxpmltx.html