Jay*_*len 11 jquery fullcalendar
我在我的网站中使用FullCalendar插件来显示日历事件.我现在要添加的是带有名称的下拉菜单,如果下拉菜单更改值,则根据菜单的值重新加载事件.
如果是另一个单词,默认情况下我会加载我拥有的事件.下拉菜单将在一个菜单中包含所有用户.从该菜单中,我可以更改用户名以在同一页面上查看其他用户事件.
我试图在下拉菜单上添加.change()事件,并在fullCalendar上添加refetchEvents,但它无法正常工作.
有人可以通过传递$('#users_menu')的值来帮助我重新加载这个事件.
以下是我目前的代码
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
right: 'prev,next today',
center: 'title',
left: 'month,agendaWeek,agendaDay'
},
events: {
url: "ajax/getMyEvents.php",
type: 'POST',
data: {
user_id: $('#users_menu').val()
}
},
timeFormat: 'h:mm TT{ - h:mm} TT',
defaultView: 'agendaDay',
eventDrop: function(event, delta, minuteDelta, allDay, revertFunc) {
if (!confirm("Are you sure about this change?")) {
revertFunc();
}
updateEvent(event, delta, minuteDelta, allDay, 'Drop', revertFunc);
},
eventResize: function(event, delta, minuteDelta, revertFunc) {
if (!confirm("Are you sure about this change?")) {
revertFunc();
}
updateEvent(event, delta, minuteDelta, false, 'endResize', revertFunc);
}
});
$('#users_menu').change( function(){
$('#calendar').fullCalendar( 'refetchEvents' );
});
});
Run Code Online (Sandbox Code Playgroud)
请注意,我在我的数据方法中传递了user_id值.
此代码适用于加载,但是当我在下拉菜单中更改用户名时,它不会重新加载新事件.
我怎样才能让它发挥作用?
Jay*_*len 29
我终于修好了.
我只好removeEventSource再?然后,refetchEvents这个工作是不是很酷:)
这是我的解决方案代码
$('#users_menu').change(function() {
var events = {
url: "ajax/getMyEvents.php",
type: 'POST',
data: {
user_id: $(this).val()
}
}
$('#calendar').fullCalendar('removeEventSource', events);
$('#calendar').fullCalendar('addEventSource', events);
$('#calendar').fullCalendar('refetchEvents');
}).change();
Run Code Online (Sandbox Code Playgroud)