Jquery EventRender上的Fullcalendar移除事件

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

使用fullcalendar,我想删除已取消的事件:那些具有event.post\u appt\u status\u id=='3'的事件

现在在EventRender中,我有一些图标是基于appt状态预先设置的。他们工作得很好。我认为这将是一个很容易从日历中删除已取消事件的地方

它只是不起作用。以下是我正在尝试的:

   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;
       }
       //...
 }