Jquery EventRender上的Fullcalendar移除事件
使用fullcalendar,我想删除已取消的事件:那些具有event.post\u appt\u status\u id=='3'的事件 现在在EventRender中,我有一些图标是基于appt状态预先设置的。他们工作得很好。我认为这将是一个很容易从日历中删除已取消事件的地方 它只是不起作用。以下是我正在尝试的:Jquery EventRender上的Fullcalendar移除事件,jquery,fullcalendar,Jquery,Fullcalendar,使用fullcalendar,我想删除已取消的事件:那些具有event.post\u appt\u status\u id=='3'的事件 现在在EventRender中,我有一些图标是基于appt状态预先设置的。他们工作得很好。我认为这将是一个很容易从日历中删除已取消事件的地方 它只是不起作用。以下是我正在尝试的: eventRender: function eventRender(event, element, view) { //handle icon before
eventRender: function eventRender(event, element, view) {
//handle icon before time
if(event.appt_status_id == '1'){
//confirmed icon
element.find(".fc-time").prepend("<i class='fa fa-check-square-o'></i> ");
} else if(event.appt_status_id == '2'){
//unconfirmed icon
element.find(".fc-time").prepend("<i class='fa fa-minus-square-o'></i> ");
} else if(event.appt_status_id == '8'){
//walkin icon
element.find(".fc-time").prepend("<i class='fa fa-male'></i> ");
} else if(event.appt_status_id == '9'){
//left message icon
element.find(".fc-time").prepend("<i class='fa fa-phone-square'></i> ");
};
//handle icon before title
if(event.post_appt_status_id == '6'){
//attended alone icon
element.find(".fc-title").prepend("<i class='fa fa-user'></i> ");
} else if(event.post_appt_status_id == '7'){
//attended companion icon
element.find(".fc-title").prepend("<i class='fa fa-users'></i> ");
} else if(event.post_appt_status_id == '4'){
//no show icon
element.find(".fc-title").prepend("<i class='fa fa-exclamation-triangle'></i> ");
} else if(event.post_appt_status_id == '3'){
//cancelled icon
element.find(".fc-title").prepend("<i class='fa fa-ban'></i> ");
$('#calendar_full').fullCalendar('removeEvent', event.id);
};
//add text to event
element.find('.fc-title').append("<br/>" + event.appt_reason_name + " with " + event.scheduled_with_name);
//handle changing menu options at top
return ['all', event.location_id].indexOf($('#calendar_location_id option:selected').val()) >= 0 && ['all', event.saw_by_id].indexOf($('#calendar_provider_id option:selected').val()) >= 0;
},
eventRender:函数eventRender(事件、元素、视图){
//时间之前的句柄图标
如果(event.appt_status_id=='1'){
//确认图标
元素。find(“.fc time”).prepend(“”);
}else if(event.appt_status_id=='2'){
//未确认图标
元素。find(“.fc time”).prepend(“”);
}else if(event.appt_status_id='8'){
//漫游图标
元素。find(“.fc time”).prepend(“”);
}else if(event.appt_status_id='9'){
//左消息图标
元素。find(“.fc time”).prepend(“”);
};
//标题前的句柄图标
如果(event.post_appt_status_id='6'){
//独处图标
元素。查找(“.fc title”)。前缀(“”);
}else if(event.post_appt_status_id='7'){
//有人陪伴图标
元素。查找(“.fc title”)。前缀(“”);
}else if(event.post_appt_status_id='4'){
//不显示图标
元素。查找(“.fc title”)。前缀(“”);
}else if(event.post_appt_status_id='3'){
//取消图标
元素。查找(“.fc title”)。前缀(“”);
$(“#calendar_full”).fullCalendar('removeEvent',event.id);
};
//向事件添加文本
元素。查找('.fc title')。追加(
“+event.appt\u reason\u name+”和“+event.scheduled\u和\u name”);
//在顶部处理更改菜单选项
return['all',event.location\u id].indexOf($('calendar\u location\u id option:selected').val())>=0&['all',event.saw\u by\u id].indexOf($('calendar\u provider\u id option:selected').val())>=0;
},
我本以为
$('#calendar_full').fullCalendar('removeEvent',event.id)
会从日历中删除这些事件,但事实并非如此 您尝试使用的事件已从插件中删除,他们引入了名为“removeEvents”的新事件
有关更多详细信息,请查看
旧链接
您尝试使用的事件已从插件中删除,他们引入了名为“removeEvents”的新事件 有关更多详细信息,请查看 旧链接
如果回调返回false,则可以取消事件呈现 该函数还可以返回false以完全取消事件的呈现
如果回调返回false,则可以取消事件呈现 该函数还可以返回false以完全取消事件的呈现
因此,如果我调用alert(event.id)而不是$(“#calendar_full”).fullCalendar('removeEvents',event.id),屏幕上所有标记为取消的事件都会用相应的id发出警报。如果我使用其中一个事件id并在外部按钮上调用此函数,则单击事件确实会被删除:$(“#calendar_full”).fullCalendar('removeEvents',18323)。所以你会认为它会在EventRender中被删除,对吗?所以如果我调用alert(event.id)而不是$('#calendar_full').fullCalendar('removeEvents',event.id),所有标记为已取消的事件都会在屏幕上以适当的id发出警报。如果我使用其中一个事件id并在外部按钮上调用此功能,则单击该事件确实会被删除:$(“#calendar_full”)。fullCalendar(“removeEvents”,18323)。所以你认为它会在EventRender中被删除,对吗?非常感谢你的帮助。这是我所需要的。如果你调用.fullCalendar('clientEvents'),它仍然会返回未渲染的事件。你能在event render?或其他地方删除该事件吗?非常感谢你的帮助。这是我所需要的。如果你调用.fullCalendar('clientEvents')它仍然返回未呈现的事件。您可以在事件呈现中或其他位置删除该事件吗?
eventRender: function( event, element, view ) {
//...
if (event.post_appt_status_id == '3') {
return false;
}
//...
}