3

日付ピッカーhttps://github.com/dangrossman/bootstrap-daterangepickerを使用して、ajax コールバックで統計をフィルタリングしています。

ページの横に追加のフィルター オプションがあり、変更時に datepicker のコールバックもトリガーする必要がありますか?

他のドロップダウンからコールバックをトリガーする方法、またはコールバック関数を抽象化する方法のアイデアはありますか?その場合、日付ピッカーから開始日と終了日をパラメーターとして渡す必要がありますか?

4

1 に答える 1

2

それが最善の解決策であることに満足していませんが、開始と終了に 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 に答える