gpt4 book ai didi

javascript - 使用 FullCalendar.js 在多个日历上创建事件

转载 作者:行者123 更新时间:2023-11-30 18:02:02 24 4
gpt4 key购买 nike

我在我的网站上使用 FullCalendar javascript 库来并排显示每位员工的日历。日历显示“日” View ,因此很容易看到每个人当天的日程安排。

我将所有日历正确并排显示(每个日历都在自己的 div 中)。

我的问题是,当通过单击日历创建新事件时,该事件总是在页面上的最后一个日历而不是您单击的实际日历上创建。我感觉它与 select 回调函数中的闭包有关。

/*
* Setup calendars for each sales person
*/
var d = $.fullCalendar.parseDate($("#requested_date").val());

//employee id numbers (each employee has own calendar)
var employees = new Array(445,123,999,444);

for(i=0;i<employees.length;i++)
{
var employeeId = employees[i];

//clear any prevoius calendar info
$('#calendar_' + employeeId).html("");

calendar[employeeId] = $('#calendar_' + employeeId).fullCalendar({
header: {
left: '',
center: '',
right: ''
},
year: d.getFullYear(),
month: d.getMonth(),
date: d.getDate(),
defaultView: 'agendaDay',
minTime: 7,
maxTime: 19,
height: 650,
editable: true,
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {

calendar[employeeId].fullCalendar('renderEvent',
{
title: "This Estimate",
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);

calendar[employeeId].fullCalendar('unselect');
},
events: {
url: 'calendar/'+employees[employeeId],
type: 'POST',
data: {
'personId': employees[employeeId],
'ci_csrf_token': wp_csr_value
},
error: function() {
alert('there was an error while fetching events!');
}
}
});
}

谢谢

最佳答案

当您选择日历 employeesId 等于 444 时,它会在最后一个日历上呈现事件,试试这个:

select: function(start, end, allDay , jsEvent ,view) { 
$(view.element).parent().parent().fullCalendar('renderEvent',
{
title: "This Estimate",
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);

$(view.element).parent().parent().fullCalendar('unselect');
}

关于javascript - 使用 FullCalendar.js 在多个日历上创建事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16730645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com