我使用daterangepicker
withmoment
来选择不同的范围。我需要设置startDate
和endDate
动态。
在html.erb
文件中:
<%if params[:campaign_report].present? && params[:campaign_report]["daterange"].present?%>
<%date_range= params[:campaign_report]["daterange"].split("-")%>
<%= @start_date= Date.parse(date_range[0]).strftime("%Y/%m/%d")%>
<%= @end_date= Date.parse(date_range[1]).strftime("%Y/%m/%d")%>
<%else%>
<%= @start_date= Date.parse(@daterange).strftime("%Y/%m/%d")%>
<%= @end_date= Date.parse(@daterange).strftime("%Y/%m/%d")%>
<%end%>
<script type="text/javascript">
$(function() {
function report_form_submit(start, end) {
$('#daterange').val(start.format('MMM D, YYYY') + ' - ' + end.format('MMM D, YYYY'));
$("#campaign_report_daterange").val($("#daterange").val())
$("#daily_filter_form").submit();
}
$('#daterange').daterangepicker({
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')]
},
startDate: moment('<%= @start_date%>'),
endDate: moment('<%= @end_date%>')
}, report_form_submit);
});
.....
我在浏览器控制台中收到警告,例如:
弃用警告:时刻构造回退到 js 日期。这是不鼓励的,将在即将发布的主要版本中删除。请参阅https://github.com/moment/moment/issues/1407了解更多信息。