1

jQuery Fullcalendar で動的なカレンダーを作成しようとしています。イベントが月、週、または日ビューの場合、イベントに別のタイトルを表示したいと考えています。addEventSourceとを試してremoveEventSourceいますが、イベントをレンダリングできません。これは私のコードです:

<script type='text/javascript'>

$(document).ready(function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    
    
daySource = new Object();       
daySource.title = 'MONTH'; // this should be string
daySource.start = new Date(y, m, d); // this should be date object
daySource.end = new Date(y, m, d);

var day =new Array();
day[0]= daySource;

monthSource = new Object();       
monthSource.title = 'MONTH'; // this should be string
monthSource.start = new Date(y, m, d); // this should be date object
monthSource.end = new Date(y, m, d);

var month =new Array();
month[0]= monthSource;

$('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            columnFormat: {
                month: 'ddd',
                week: 'ddd d/M',
                day: 'dddd d/M'
            },          
            defaultView: 'agendaDay',     

  




        viewDisplay: function(view) {
            if (lastView == undefined) { lastView = 'firstRun';  }

            if (view.name != lastView ) {

            if (view.name == 'agendaWeek') { 
                $('#calendar').fullCalendar( 'addEventSource', month ); 
                $('#calendar').fullCalendar( 'removeEventSource', day ); 
                $('#calendar').fullCalendar( 'removeEventSource', day ); 
                $('#calendar').fullCalendar('renderEvents');
            }
            if (view.name == 'agendaDay') { 
                $('#calendar').fullCalendar( 'addEventSource', day ); 
                $('#calendar').fullCalendar( 'removeEventSource', month ); 
                $('#calendar').fullCalendar( 'removeEventSource', month ); 
                $('#calendar').fullCalendar('renderEvents');
            }

            if (view.name == 'month') { 
                $('#calendar').fullCalendar( 'addEventSource', month ); 
                $('#calendar').fullCalendar( 'removeEventSource', day ); 
                $('#calendar').fullCalendar( 'removeEventSource', day );
                $('#calendar').fullCalendar('renderEvents'); 
            }
            lastView = view.name;
            }
        },

        timeFormat: { // for event elements
            agendaDay: '',
            agendaWeek: '',
            month: '',
            '': 'h(:mm)t' // default
        },          

    });  $('#calendar').fullCalendar( 'addEventSource', month );        $('#calendar').fullCalendar('rerenderEvents'); 
});

まず、avents がレンダリングされない理由がわかりません。次に、ビューによってタイトルが変わるかどうかがわかりません。どんな助けにも感謝します。

4

1 に答える 1

2

イベントオブジェクトだけでなく、配列であるeventSources必要があります。オブジェクトを配列にカプセル化し、それが機能するかどうかを確認します。

デモについては、このフィドルを確認してください - jsfiddle.net/100thGear/CBPW8/1

于 2013-02-22T00:19:43.843 に答える