Ich bin derzeit mit jQuery FullCalendar, um eine Scheduling-Anwendung zu erstellen. In meiner Anwendung muss ich editable=false nur für Ereignisse, die nicht ein Ereignis, das durch den angemeldeten Benutzer erstellt wird; während, das Ereignis, das durch den angemeldeten Benutzer erstellt wird, sollte editable= true haben. Kann mir jemand vorschlagen, wie ich einige bearbeitbare Eigenschaften von Ereignissen in einem FullCalendar als false und einige Ereignisse als true festlegen kann.
Antworten
Zu viele Anzeigen?Setzen Sie die bearbeitbare Master-Eigenschaft auf false
und setzen Sie die bearbeitbare Eigenschaft der Ereignisse, die Sie bearbeiten möchten, auf true.
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false, // set this false
events: [
{
title: 'This must be editable',
start: new Date('11/1/2011'),
editable:true
},
{
title: 'This is non editable',
start: new Date('11/1/2011'),
end: new Date('11/1/2011')
}
]
});
});
http://jsfiddle.net/G6K6Y/94/
Ich weiß, dass diese Frage schon etwas älter ist, aber sie könnte jedem helfen, der danach sucht: Ich habe dies auf zwei Arten getan: Die erste ist die Einstellung auf die Ereignisquelle, wie @TheSuperTramp es getan hat:
{
title: 'This must be editable',
start: new Date('11/1/2011'),
editable:true
}
Die zweite Möglichkeit, die ich bevorzuge, besteht darin, den Standardwert auf false zu setzen und beim Rendern zu vergleichen, ob das Ereignis die gleiche ID des Benutzers hat. Auf diese Weise müssen Sie nicht "hart Code" das Attribut auf das Ereignis:
editable: false,
eventRender: function(event, element) {
if(event.userId === user.id) {
event.editable = true;
}
},