fullcalendar:事件不显示在日历中
fullcalender: Events not displaying in calendar
我正在尝试在我呈现的日历上呈现我的事件。我正在关注它的官方示例 here
下面是我的代码
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div id="calender"></div>
<script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
$(document).ready(function () {
var eventList = [];
$.ajax({
type: "GET",
url: "/home/GetEvents",
success: function (data) {
$.each(data, function (i, content) {
eventList.push({
title: content.title,
start: content.start,
end: content.end != null ? content.end : "",
color: content.color,
});
})
GenerateCalendar(eventList);
},
error: function (error) {
console.log("unable to generate calendar, the error is: ", error);
}
})
function GenerateCalendar(events) {
console.log("GenerateCalendar Enter ", events);
// do not create another calendar if one exist
var calendarEl = document.getElementById('calender');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
initialView: 'dayGridMonth',
navLinks: true, // can click day/week names to navigate views
businessHours: true,
editable: true,
selectable: true,
events: events
});
calendar.render();
}
})
</script>
<style>
body {
margin: 40px 10px;
padding: 0;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
font-size: 14px;
}
#calendar {
max-width: 1100px;
margin: 0 auto;
}
.fc-header-toolbar {
/*
the calendar will be butting up against the edges,
but let's scoot in the header's buttons
*/
padding-top: 1em;
padding-left: 1em;
padding-right: 1em;
}
</style>
以上代码呈现了一个没有事件的日历。所以我控制台记录我的事件,下面是我的结果
[
{
"title": "some subject",
"start": "1/28/2022 7:18:32 AM",
"end": "1/1/1900 12:00:00 AM",
"color": "pink"
},
{
"title": "some subject 2",
"start": "1/28/2022 7:19:13 AM",
"end": "1/1/1900 12:00:00 AM",
"color": "black"
}
]
预期结果
事件应该出现在日期
实际结果
它只是呈现一个空日历
如有任何建议,我们将不胜感激
尝试将函数参数名称更改为与事件不同的名称。
编辑:对 - 与命名无关。
$(document).ready(function () {
var eventList = [
{
"title": "some subject",
"start": "2022-01-28T13:00:00",
"color": "pink"
}
];
GenerateCalendar(eventList);
function GenerateCalendar(myevents) {
console.log("GenerateCalendar Enter ", myevents);
// do not create another calendar if one exist
var calendarEl = document.getElementById('calender');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
initialView: 'dayGridMonth',
navLinks: true, // can click day/week names to navigate views
businessHours: true,
editable: true,
selectable: true,
events: myevents
});
calendar.render();
}
})
<style>
body {
margin: 40px 10px;
padding: 0;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
font-size: 14px;
}
#calendar {
max-width: 1100px;
margin: 0 auto;
}
.fc-header-toolbar {
/*
the calendar will be butting up against the edges,
but let's scoot in the header's buttons
*/
padding-top: 1em;
padding-left: 1em;
padding-right: 1em;
}
</style>
<h2>Index</h2>
<div id="calender"></div>
<script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
我必须将我的开始时间和结束时间转换为文档中的正确格式
var momentStart = moment(content.start, 'MM-DD-YYYY');
var momentStartString = momentStart.format('YYYY-MM-DD');
var momentEnd = null;
var momentEndString = "";
if (content.end != null) {
momentEnd = moment(content.end, 'MM-DD-YYYY');
momentEndString = momentEnd.format('YYYY-MM-DD');
}
我正在尝试在我呈现的日历上呈现我的事件。我正在关注它的官方示例 here
下面是我的代码
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div id="calender"></div>
<script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
$(document).ready(function () {
var eventList = [];
$.ajax({
type: "GET",
url: "/home/GetEvents",
success: function (data) {
$.each(data, function (i, content) {
eventList.push({
title: content.title,
start: content.start,
end: content.end != null ? content.end : "",
color: content.color,
});
})
GenerateCalendar(eventList);
},
error: function (error) {
console.log("unable to generate calendar, the error is: ", error);
}
})
function GenerateCalendar(events) {
console.log("GenerateCalendar Enter ", events);
// do not create another calendar if one exist
var calendarEl = document.getElementById('calender');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
initialView: 'dayGridMonth',
navLinks: true, // can click day/week names to navigate views
businessHours: true,
editable: true,
selectable: true,
events: events
});
calendar.render();
}
})
</script>
<style>
body {
margin: 40px 10px;
padding: 0;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
font-size: 14px;
}
#calendar {
max-width: 1100px;
margin: 0 auto;
}
.fc-header-toolbar {
/*
the calendar will be butting up against the edges,
but let's scoot in the header's buttons
*/
padding-top: 1em;
padding-left: 1em;
padding-right: 1em;
}
</style>
以上代码呈现了一个没有事件的日历。所以我控制台记录我的事件,下面是我的结果
[
{
"title": "some subject",
"start": "1/28/2022 7:18:32 AM",
"end": "1/1/1900 12:00:00 AM",
"color": "pink"
},
{
"title": "some subject 2",
"start": "1/28/2022 7:19:13 AM",
"end": "1/1/1900 12:00:00 AM",
"color": "black"
}
]
预期结果
事件应该出现在日期
实际结果
它只是呈现一个空日历
如有任何建议,我们将不胜感激
尝试将函数参数名称更改为与事件不同的名称。
编辑:对 - 与命名无关。
$(document).ready(function () {
var eventList = [
{
"title": "some subject",
"start": "2022-01-28T13:00:00",
"color": "pink"
}
];
GenerateCalendar(eventList);
function GenerateCalendar(myevents) {
console.log("GenerateCalendar Enter ", myevents);
// do not create another calendar if one exist
var calendarEl = document.getElementById('calender');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
initialView: 'dayGridMonth',
navLinks: true, // can click day/week names to navigate views
businessHours: true,
editable: true,
selectable: true,
events: myevents
});
calendar.render();
}
})
<style>
body {
margin: 40px 10px;
padding: 0;
font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
font-size: 14px;
}
#calendar {
max-width: 1100px;
margin: 0 auto;
}
.fc-header-toolbar {
/*
the calendar will be butting up against the edges,
but let's scoot in the header's buttons
*/
padding-top: 1em;
padding-left: 1em;
padding-right: 1em;
}
</style>
<h2>Index</h2>
<div id="calender"></div>
<script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fullcalendar@5.10.1/main.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
我必须将我的开始时间和结束时间转换为文档中的正确格式
var momentStart = moment(content.start, 'MM-DD-YYYY');
var momentStartString = momentStart.format('YYYY-MM-DD');
var momentEnd = null;
var momentEndString = "";
if (content.end != null) {
momentEnd = moment(content.end, 'MM-DD-YYYY');
momentEndString = momentEnd.format('YYYY-MM-DD');
}