如何在ajax加载时禁用某些事件的编辑

时间:2017-03-01 06:40:31

标签: javascript jquery fullcalendar

我正在使用FullCalendar进行活动管理。我正在从用户端创建事件,然后由管理员批准。当用户创建事件(可拖动事件)时,可以编辑该事件,直到管理员不批准该事件。当事件被批准时,我希望它被禁用,即用户无法编辑它。这就是我使用代码的原因:

events: function(start, end, timezone, callback) {
    jQuery.ajax({
        url: AJAX_URL,
        type: 'POST',
        dataType: 'json',
        data: {
            start: start.format(),
            end: end.format()
        },
        success: function(doc) {
            var events = [];
            if(doc != ''){
                jQuery.map( doc, function( r ) {
                    // alert(r.status); // status is either 1 or 0

                    events.push({
                        id: r.id,
                        title: r.title,
                        start: r.start_time,
                        end: r.end_time,
                        textColor: 'black',
                        editable: (r.status) ? true : false,                                
                    });
                });
            }
            callback(events);
        }
    });
} 

我已经搜索了许多其他解决方案,但没有一个工作。

1 个答案:

答案 0 :(得分:0)

您是否尝试过updateEvent option? 像这样:

$('#calendar').fullCalendar('updateEvent',{
 id: r.id,
 title: r.title,
 start: r.start_time,
 end: r.end_time,
 textColor: 'black',
 editable: (r.status) ? true : false                                
});

此外,我认为可编辑之后还有一个额外的逗号:

  

可编辑:(r.status)? true:false,

我没有测试它,但这些是我的想法。

我希望它有所帮助, 格雷格