2011-11-01 86 views
4

我目前使用jQuery FullCalendar创建调度应用程序。在我的应用程序中,我只需要设置editable = false仅针对不是由登录用户创建的事件的事件;而由登录用户创建的事件应具有editable = true。任何可以建议我如何在FullCalendar中将事件的可编辑属性设置为false,并将事件设置为true。Jquery FullCalendar更改日历上特定事件的可编辑属性

回答

9

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

+0

你好,jsfiddle不起作用(铬版本28.0.1459.0(191590)) –

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; 
    } 
},