0

参照用のコードを確認してください

<script type='text/javascript'>

    $(document).ready(function() {

        var date = new Date();
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();

        $('#calendar').fullCalendar({

            editable: true,

            eventDrop: function(calEvent,dayDelta,minuteDelta,allDay,revetFunc) {
                var stDate = $.fullCalendar.formatDate(calEvent.start, 'dd-MM-yyyyy');
                $.post('event_update.php',{'allday':allDay, 'event':calEvent.id, 'start':stDate}, function(response){
                    if(response.length > 0){
                       alert(response);
                       revertFunc();
                    }
            });
            },

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

        });

        $('#project').change(function() {
            var filter = $('#project').val();
            $('#calendar').fullCalendar('removeEvents');
            $('#calendar').fullCalendar('addEventSource', 'json-events.php?filter='+filter);
            $('#calendar').fullCalendar('rerenderEvents');
        });

    });

</script>

シナリオ 1 :

onChange 関数の実装前は、フル カレンダーにすべてのイベントが表示されます。

シナリオ 2 :

onchange 機能 (イベント フィルター) の実装後、ユーザーがフィルター オプションを変更した場合にイベントが表示されます。デフォルトでは、イベントは表示されません。直し方を教えてください

4

2 に答える 2

0

カレンダーにすべてのイベントを最初に表示させたい場合 (シナリオ 1??)、fullcalendar を初期化するときに events パラメータが必要です (または change イベントを手動で呼び出します)。変更イベントが発生するまで on change フィルターは呼び出されないため、ページが読み込まれるとカレンダーは空になります。

$('#calendar').fullCalendar({
    ...
    events: json-events.php?filter='+filter
 });

変更時のイベントは機能するはずですが、AFIK では、addEventSource がこれを処理する必要があるため、rerenderEvents を取り除くことができます。

毎回イベント ソースを削除および追加せずにフィルター パラメーターを変更する場合は、この前の回答を参照してください。

于 2012-12-12T01:31:00.347 に答える
0

カレンダーには、最初はイベント ソースがありません。

削除する

$('#calendar').fullCalendar('addEventSource', 'json-events.php?filter='+filter);

代わりに初期化に入れます:

events: json-events.php?filter='+filter
于 2012-12-11T08:02:39.453 に答える