首页 > 解决方案 > 将选定的日期范围选择器值推送到 URL

问题描述

我在我的网站中使用日期范围选择器我需要将选定的开始和结束日期推送到还有其他参数的 URL,因此在推送数据时它不能删除其他参数。请告诉我必须在代码中添加什么才能做到这一点。:) 在此先感谢 PS 我是新的 Javascript。

<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" />



<div id="reportrange" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 10%">
<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>

标签: javascriptjquery

解决方案


“开始”和“结束”是否代表您的日期?

如果是这样: location.href += "&startDate=" + start + "&endDate=" + end;

顺便说一句,这实际上将使用这些参数重新加载页面,当然还有那些已经存在的参数,除非它是某种形式的 Hashtag URL。

Ps 请注意不要把它放在某个地方,代码会在页面重新加载时再次调用自己,因为那样你可能会陷入无限的重新加载循环,直到 URL 缓冲区中断。


推荐阅读