我发布了同样的问题,但没有得到答案,所以我再次发布了问题。
这是两个全局变量。
var ri_startDate = "";
var ri_endDate = "";
我将存储在DB中的日期值添加到全局变量。
(从数据库检索的日期的格式为yyy-mm-dd。)
$.ajax({
type: 'POST',
url: 'getSectionDate.do',
data: {"ri_idx" : ri_idx},
dataType: 'JSON',
success: function(resultData){
$.each(resultData, function(key, value){
ri_startDate = value.ri_startDate;
ri_endDate = value.ri_endDate;
$('#ri_startDate').val(ri_startDate);
$('#ri_endDate').val(ri_endDate);
});
if(ri_startDate != null || ri_startDate != "" || ri_endDate != null || ri_endDate != "") {
$('#calendarContainer').show(700,rerenderingFullCalendar);
$('.doctorname2').hide(700);
}
},
error: function(resultData) {
console.log("resultData Error >> " + resultData);
}
});
现在一切都完成了,我将将其插入默认日期中。
如下:
$('#calendar').fullCalendar({
defaultDate: moment(ri_startDate)
});
但是,这将导致错误。
所以我做了以下内容。
$(function() {
var moment_startDate = moment(ri_startDate, 'YYYY-MM-DD');
var result_moment_startDate = moment_startDate.format('YYYY-MM-DD');
console.log(result_moment_startDate);
$('#calendar').fullCalendar({
defaultDate: moment(result_moment_startDate)
});
});
我做错了什么?
我找不到原因。我已经在Google开发人员工具中对其进行了测试,但效果很好。(当您在全球创建它而不是在功能内部创建它时)
我该怎么做?我只想从数据库添加查询值(ri_startdate)到默认情况。
如果您在Google开发人员工具上运行此操作,则可以。
但是,当我编写此代码并运行它时,我会收到以下错误。
unturew typeError:无法在monthviewDateProfileGenerator.dateProfileGenerator.buildrenderrange(fullcalendar.js:10447)上读取null的属性"克隆"。 ator.buildrenderrange(fullcalendar.js:14621)在monthviewDateProfileGenerator.dateProfileGenerator.build(fullcalendar.js:10265)on montrview.view.view.setdate(fullcalendar.js:3624:galendar.renderview.renderview.rendererveiew.rendererveiew a fullcalendar.js:9607)htmldivelement上的calendar.render(fullcalendar.js:9470)。(fullcalendar.js:12414)在function.EAK中(jquery-3.2.1.min.js:2)
我该如何修复?因此,无法取得进展。
请帮助我。
根据我们的讨论,您将January 2018
作为瞬间发送,并将其分配给defaultDate
和January 2018
不在公认的RFC2822
或ISO
格式中。时刻的构造返回到js Date()
,在所有浏览器和版本中都不可靠。不建议使用非RFC2822/ISO
日期格式,并将在即将发布的主要版本中删除。
请参阅URL以获取更多信息。由于您当前的问题是您无法将默认日期设置为所需的日期,如果您以正确的格式提供日期,如上所述,您可以将日历设置为过去或将来的任何日期,请参见下面的演示日历到2015-10-10
$('#calendar').fullCalendar({
defaultDate: $.fullCalendar.moment('2005-10-01')
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.0/fullcalendar.print.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.0/fullcalendar.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.0/fullcalendar.js"></script>
<div id="calendar">
</div>
我在@muhammad Omer Aslam的帮助下解决了这个问题。
ajax部分:
$.ajax
({
type: 'POST',
url: 'getSectionDate.do',
data: {"ri_idx" : ri_idx},
dataType: 'JSON',
success: function(resultData)
{
console.log("resultData : " + resultData);
$.each(resultData, function(key, value)
{
ri_startDate = value.ri_startDate;
ri_endDate = value.ri_endDate;
var a = JSON.stringify(resultData);
$('#ri_startDate').val(ri_startDate);
$('#ri_endDate').val(ri_endDate);
});
if(ri_startDate != null || ri_startDate != "" || ri_endDate != null || ri_endDate != "")
{
loadCalendar(ri_startDate, ri_endDate);
$('#calendarContainer').show(700,rerenderingFullCalendar);
$('.doctorname2').hide(700);
}
},
error: function(resultData)
{
console.log("resultData Error >> " + resultData);
}
});
loadcalendar函数部分:
function loadCalendar(ri_startDate,ri_endDate)
{
var todayMomentDate = $.fullCalendar.moment(ri_startDate);
var resultTodayMomentDate = todayMomentDate.format('YYYY-MM-DD');
console.log("resultTodayMomentDate : " + resultTodayMomentDate);
// fullCalendar 관련
$('#calendar').fullCalendar
({
});
$('#calendar').fullCalendar('gotoDate', resultTodayMomentDate);
};
这一切都很好。
尝试了类似的东西...我在代码上使用了它。
$( "#datepicker-14" ).datetimepicker({
//format : 'DD-MM-YYYY HH:mm'
viewMode: 'days',
format: 'DD/MM/YYYY'
}, "date");
var dateNow = new Date();
var date= moment(dateNow).format('DD/MM/YYYY');