2015-11-19 43 views
0

我使用以下daterangepicker設定值

但是在我的骨幹模板我無法設置選定日期

Daterangepicker選項:

$('input[name="daterange"]').daterangepicker({ 
    autoUpdateInput: false, 
    opens: "right", 
    drops: "down", 
    locale: { 
    cancelLabel: 'Clear' 
    }, 
    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')] 
    } 
}); 

,我們有小窗口狀態使用以下功能來實現它:

$('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) { 
     $(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY')); 
    }); 

    $('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) { 
     $(this).val(''); 
    }); 

如何在我的Backbone視圖中編寫這些內容?

+0

*「但是在我的骨幹模板我無法設置選定的日期」 * - 這是非常模糊的..你如何加載模板..?你在哪裏初始化這個插件..?在'Backbone.View'中..?如果是這樣,請分享代碼 –

回答

0

可能是最好的方式是觸發代碼,設置視圖被呈現後手動地選擇日期。默認情況下,Backbone不會給你任何postRender事件處理,但是你可以自己寫。 所以 - 首先你應該渲染你的模板,並且當DOM被更新時(所有控件都可用於$),運行設置inits /更新日期選擇器的方法。

更多關於postRender機制可能這個話題在發現:Backbone.js event after view.render() is finished

希望它可以幫助