0

js にいくつかの新しい関数を挿入しましたが、機能しdayClickませeventClickん。ただし、カレンダーは適切にロードできます。

次のコードの dayclick と eventclick が機能しない理由を教えてください。

$(document).ready(function() {
    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: '',
            right: 'agendaWeek,agendaDay'
        },
        selectable: true,
        selectHelper: true,
        allDayDefault: false,
        allDaySlot: false,
        firstHour: 9,
        defaultView: 'agendaWeek',

        dayClick: function(date, allDay, jsEvent, view) {
            calendar.fullCalendar('gotoDate', date);
        },

        eventClick: function(calEvent, jsEvent, view) {
    window.location = "http://www.domain.com?start=" + calEvent.start;

},

        select: function(start, end) {

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

                var startDateString = $.fullCalendar.formatDate(start, 'yyyy-MM-dd hh:mm');
                var endDateString = $.fullCalendar.formatDate(end, 'yyyy-MM-dd hh:mm');
                $.ajax({
                    type: 'POST',
                    url: '{url}ajaxpost/add',
                    data: {
                        startDate: startDateString,
                        endDate: endDateString,
                        eventTitle: title                            
                    },
                    dateType: 'json',
                    success: function (resp) {
                        calendar.fullCalendar('refetchEvents');

                    }
                });
            }
            calendar.fullCalendar('unselect');
        },
        editable: true,
        events: "{url}ajaxget/data",
    });

});
4

1 に答える 1

0

「select」コールバックと「dayClick」コールバックは競合するため、一緒に使用することはできません。datepicker を使用して gotoDate 関数を実行し、同じことを実行できます。

http://weblogs.asp.net/gunnarpeipman/archive/2010/02/02/linking-jqueryui-datepicker-and-fullcalendar.aspx

eventClickについては、なぜ機能しないのかわかりませんが、URLをデータベースに配置してイベントで呼び出し、プロパティ「url:www.somesite.com/sdfjkiwe」として設定する方が簡単です

余談ですが、renderEvent を使用してイベントを表示しない方がよいでしょう。ここにあるイベント関数を使用して、その中で ajax 呼び出しを使用してみてください。

http://arshaw.com/fullcalendar/docs/event_data/events_function/

于 2012-04-10T18:43:46.887 に答える