3

我正在使用日期选择器https://github.com/dangrossman/bootstrap-daterangepicker通过 ajax 回调过滤统计信息。

我在页面上有额外的过滤器选项,我还需要它们来触发日期选择器的更改回调吗?

有什么想法可以从其他下拉菜单触发回调或抽象回调函数,在这种情况下,我需要从 datepicker 传递开始 + 结束日期作为参数?

4

1 回答 1

2

我不高兴这是最好的解决方案,但我为 start 和 end 设置了 2 个全局变量,然后用回调更新它们,这样我就可以调用 ajax 刷新并从任何地方传递日期。

var startDate = Date.today();
var endDate = Date.today();

function refresh_stats(start, end)
{
    // Do ajax refresh
}

$('#reportrange').daterangepicker(
        {
                ranges: {
                        'Today': ['today', 'today'],
                        'Yesterday': ['yesterday', 'yesterday'],
                        'Last 7 Days': [Date.today().add({ days: -6 }), 'today'],
                        'Last 30 Days': [Date.today().add({ days: -29 }), 'today'],
                        'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()],
                        'Last Month': [Date.today().moveToFirstDayOfMonth().add({ months: -1 }), Date.today().moveToFirstDayOfMonth().add({ days: -1 })]
                }
        }, 
        function(start, end)
        {
                startDate = start;
                endDate = end;
                refresh_stats(start, end);
        }
);

// Then can call this whenever
refresh_stats(startDate, endDate);
于 2012-11-29T11:03:44.967 回答