json フィードで fullcalendar を使用しています。コードは次のとおりです。
$('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
events: {
url: '/EventInfo/GetEventsByEmployee',
cache: false,
lazyFetching:true,
type: 'POST',
data: {
empId: $('#eventownerId').val()
},
error: function () {
alert('there was an error while fetching events!');
},
},
dayClick: function (date, allDay, jsEvent, view) {
displayDayEvents(date, allDay, jsEvent, view);
},
eventRender: function (event, element) {
element.find('.fc-event-time').hide();
element.attr('title', event.tip);
}
});
ここでは、データ フィールドを介してドロップ ダウン コントロールの選択した値を「empId: $('#eventownerId').val()」として渡しています。ページの読み込み時に正しいデータを返します。ユーザーがドロップダウンリストからオプションを選択したときに、カレンダーデータをリロードしたいと思います。この目的のために、次のコードを使用しました
$('#eventownerId').change(function (e) {
$('#calendar').fullCalendar('removeEvents');
$('#calendar').fullCalendar('refetchEvents');
});
しかし、refetch は古いデータ (つまり、ドロップ ダウン コントロールの初期値) で json メソッドを呼び出します。ドロップ ダウンの選択された値が変更されていても。ドロップダウン コントロールの現在の値を渡し、フルカレンダーをリロードするにはどうすればよいですか?