如标题中所述,我的cookie系统正在按预期方式工作,除非要在下拉菜单中显示cookie中的数据。
[当没有cookie且用户到达报告页面时,所有的日子都设置为NaN,如下所示。
在控制台中,我得到了他的错误,可能是因为日期格式不正确,但是我无法弄清楚。这只是问题的一部分。
错误:属性转换:期望的数字,“ scale(NaN)translation(N…”。
通过在自定义值中选择“昨天”,日期将返回,并且下拉列表将再次起作用。现在选择了日期范围,将创建cookie。接下来,当用户刷新页面时,将为cookie中的日期加载报告,但NaN返回,并且返回日期为今天,而不是cookie中的日期。
这是我的代码。任何帮助将不胜感激。
$(document).ready(function(){
function showReport(todaydate) {
$.ajax({
url:"campaign-table.php",
method:"POST",
data:{todaydate:todaydate},
success:function(data){
$('#campaigntable').html(data);
}
});
}
if (Cookies.get('startdate') == null || Cookies.get('enddate') == null) {
Cookies.set('startdate', (new Date()).toISOString().split('T')[0]);
Cookies.set('enddate', (new Date()).toISOString().split('T')[0]);
}
var todaydate = Cookies.get('startdate') + "to" + Cookies.get('enddate');
showReport(todaydate);
$('#demo').daterangepicker({
"timePicker24Hour": true,
"autoApply": true,
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')]
},
"alwaysShowCalendars": true,
"startDate": Cookies.get('startdate'),
"endDate": Cookies.get('enddate'),
"opens": "left",
}, function(start, end, label) {
$("#datereturn").text(start.format('MMMM D, YYYY') + ' to ' + end.format('MMMM D, YYYY'));
var todaydate = start.format('YYYY-MM-DD')+"to"+end.format('YYYY-MM-DD');
Cookies.set('startdate', start.format('YYYY-MM-DD'));
Cookies.set('enddate', end.format('YYYY-MM-DD'));
showReport(todaydate);
});
});