-1

皆さん、私はほとんど問題がありません。フルカレンダーをセットアップし、データベースに接続し、すべて正常に表示されました。今では、更新と新しいイベントの追加にほとんど問題はありません (24 時間形式で終日:false)。

alert(event.id + ' は移動されました ' + delta + ' 日\n' + '(おそらくデータベースを更新する必要があります)'); の代わりに createevent.php?id=$id&start=$star&end=$end を呼び出す必要があります

私のjson:

[{"id":"2","title":"hair cut Mike","start":"2013-02-02T13:30:00+01:00","end":"2013-02-02T15:30:00+01:00","color":"blue","allDay":false},{"id":"1","title":"hair cut Steve","start":"2013-02-02T09:30:00+01:00","end":"2013-02-02T10:30:00+01:00","color":"red","allDay":false}]

また、新しいイベントを作成するためにこれが必要です。選択可能なjQueryを配置してから作業しました(入力ダイアログ)。

<script type='text/javascript'>
$(document).ready(function () {

    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        editable: true,


        allDaySlot: true,
        allDayText: 'Volledige dag',
        firstHour: 8,
        slotMinutes: 30,
        defaultEventMinutes: 120,
        axisFormat: 'HH:mm',
        timeFormat: {
            agenda: 'H:mm{ - h:mm}'
        },
        dragOpacity: {
            agenda: .5
        },
        minTime: 0,
        maxTime: 24,

        selectable: true,
        selectHelper: true,
        select: function (start, end, allDay) {
            var title = prompt('Event Title:');
            if (title) {
                calendar.fullCalendar('renderEvent', {
                    title: title,
                    start: start,
                    end: end,
                    allDay: false
                },
                true // make the event "stick"

                );
            }
            calendar.fullCalendar('unselect');


        },


        events: "json-events.php",

        eventDrop: function (event, delta) {
            alert(event.id + ' was moved ' + delta + ' days\n' +
                '(should probably update your database)');
        },
        timeFormat: 'H:mm',

        loading: function (bool) {
            if (bool) $('#loading').show();
            else $('#loading').hide();
        }

    });

});

4

1 に答える 1

2

イベント ハンドラ内で十分に文書化されたjQuery Ajax 関数を使用するだけです。

    eventDrop: function (event, dayDelta, minuteDelta) {
        // message to end user
        alert(event.id + ' was moved ' + dayDelta + ' days\n' +
            '- database will be updated now');

        /**
         * perform ajax call for db update
         */            
        jQuery.post(
            'createevent.php'
            , { 
                id: event.id
                , start: event.start
                , end: event.end
            }
        );                    
    }

fullcalendarsドラッグ/ドロップ コールバックのドキュメントも参照してください。

于 2013-02-15T09:47:35.603 に答える