Jquery FullCalendar更改日历上特定事件的可编辑属性

时间:2011-11-01 06:23:58

标签: jquery fullcalendar

我目前正在使用jQuery FullCalendar来创建一个调度应用程序。在我的应用程序中,我需要为不是登录用户创建的事件的事件设置editable = false;然而,登录用户创建的事件应该具有editable = true。可以任何建议我如何在FullCalendar中设置事件的几个可编辑属性为false,而少数事件为true。

2 个答案:

答案 0 :(得分:9)

将主可编辑属性设置为false,并将要编辑的事件的可编辑属性设置为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/

答案 1 :(得分:4)

我知道这个问题有点老了,但可以帮助任何人搜索这个: 我通过两种方式做到了这一点: 第一个是设置事件来源,如@TheSuperTramp:

{
    title: 'This must be editable',
    start: new Date('11/1/2011'),
    editable:true
}

第二种 - 我喜欢的方式 - 是将默认值设置为false,并在渲染时比较事件是否具有相同的用户ID。这样你就不会有硬代码"事件的属性:

editable: false,
eventRender: function(event, element) {
    if(event.userId === user.id) {
        event.editable = true;
    }
},