将所选的日期范围选择器值推送到URL

时间:2018-09-09 19:58:32

标签: javascript jquery

我在我的网站上使用日期范围选择器,我需要将所选的开始日期和结束日期推送到还具有其他参数的URL,因此在推送数据时,不能删除其他参数。请告诉我我必须在代码中添加do以便执行此操作。 :) 提前致谢 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>

2 个答案:

答案 0 :(得分:0)

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

如果是这样:location.href + =“&startDate =” +开始+“&endDate =” +结束;

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

P.s。请注意不要将其放置在某个地方,因为在重新加载页面时代码将再次调用该地方,因为这样您可能会陷入无限的重新加载循环中,直到URL缓冲区中断。

答案 1 :(得分:-1)

使用javascript将其存储在会话中

// Store
sessionStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = sessionStorage.getItem("lastname");

Check this tutorial to get more details