1

我正在使用 jquery full calendar http://arshaw.com/fullcalendar 来显示会议。

我只是想确认可以添加一个事件(让我们创建一个新会议

使用 php ajax ) 在特定日期使用这个 .?

4

2 回答 2

2

我假设您想在用户单击一天(在月视图中)或时间段(在日/周视图中)时添加事件。如果是这样,您可以使用selecteventClick回调在日历上添加和获取事件。

检查这个小提琴:http: //jsfiddle.net/100thGear/xgSTr/

这将 jQuery UI 对话框合并到 FullCalendar 中,并且为了方便起见,还将选定的日期继承到 jQuery UI 日期选择器中!

让我知道这是否有帮助。

于 2012-08-17T16:11:09.460 回答
1

我已经广泛使用了 fullcalendar,是的,在特定日期添加事件是它的核心功能。您需要了解事件对象结构(请参阅http://arshaw.com/fullcalendar/docs/event_data/Event_Object/),特别是您将 设置start为开始日期/时间的 unix 时间戳并将其标记为全部日事件allDay = "true"或设置end时间戳。

正如您提到的 Ajax,使用事件填充日历的一种方法是通过 JSON 加载它们,您可以这样做:

$('#calendar').fullCalendar({ events: '/myfeed.php' });

myfeed.php返回一个充满事件对象的 json 结构。


这是如何使用各种选项设置日历的完整示例

//Initialise the calendar
$('#calendar').fullCalendar({
    header: { left: 'title', center: '', right: 'today agendaDay,agendaWeek,month prev,next'},
    editable: true,
    showTime: true,
    allDayDefault: false,
    defaultView: 'agendaDay',
    firstHour: 8,
    eventColor: '#23478A',
    eventBorderColor:'#000000',
    eventTextColor:'#ffffff',
    //eventBackgroundColor:,
    theme: true, //enables jquery UI theme

    eventSources: [
        '/myfeed.php'
    ],

    //this is when the event is dragged and dropped somewhere else 
    eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) 
    {
        //do something...
    },

    //this is when event is resized in day/week view
    eventResize: function(event,dayDelta,minuteDelta,revertFunc) 
    {
        //do something
    },

    eventClick: function(calEvent, jsEvent, view) 
    {          
        //do something
    },

    eventRender: function( event, element, view ) 
    { 
        //redo the title to include the description
        element.find(".fc-event-title").html(event.title + ": <span>" + event.description + "</span>");
    },

    loading: function(bool) 
    {
        if (bool)
        {
            $("#loading").show();
        }
        else 
        {
            $('#loading').hide();
        }
    }
});
于 2012-08-17T15:28:57.140 回答