データベースからのイベントを表示するためにjQueryフルカレンダーを使用しています。
ユーザーが選択した月onchange
に従って、カレンダーの下にイベントを表示する必要があります。イベントの日付に従ってデータを取得できますが、jQueryカレンダーでユーザーが選択した月を取得できません。
$('#calendar').fullCalendar({
theme: true,
header: {
left: 'today',
center: 'prevYear,prev,title, next,nextYear',
right: ' month,agendaWeek,agendaDay'
},
buttonText: {
prevYear: 'Prev'
},
editable: false,
events: [
<?php foreach ($edumeet_invite_det as $key => $edumeet_det): ?>
<?php $edumeet_start = $edumeet_det->getFromDate(); ?>
<?php $edumeet_end = $edumeet_det->getToDate(); ?>
<?php $title = $edumeet_det->getTitle(); ?>
{
title:'<?php echo $title; ?>',
start:'<?php echo $edumeet_start ?>',
end:'<?php echo $edumeet_end ?>',
allDay: false
},
<?php endforeach; ?>
],
eventColor: '#378006',
});
これは私が使用しているカレンダー機能です。ユーザーが選択した月onchange
を取得する必要があります。誰かがこの問題の解決策を持っていますか?
あなたの質問を完全に理解していないかもしれませんが、画面上の現在の月を知る必要があるだけのように聞こえますか?
FullCalendarには「getDate」メソッドがあります。
function getMonth(){
var date = $("#calendar").fullCalendar('getDate');
var month_int = date.getMonth();
//you now have the visible month as an integer from 0-11
}
これがあなたが求めていたものでない場合は、申し訳ありません。
あなたに役立つかもしれない関数「getView」:
暦月の最初の日を取得するには:
$(cal).fullCalendar('getView').start
暦月の最終日を取得するには:
$(cal).fullCalendar('getView').end
カレンダーの最初の表示日を取得するには:(前月の最後の数日)
$(cal).fullCalendar('getView').visStart
カレンダーの最終表示日を取得するには:(来月の最初の数日)
$(cal).fullCalendar('getView').visEnd
最後のバージョン(2018)では、このコードを使用する必要があります!
jQuery("#your_selector").fullCalendar('getDate').month()
フルカレンダーバージョン-4
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
...
...
});
calendar.render();
var cdate = calendar.getDate();
var month_int = cdate.getMonth();
alert((month_int+1)); // March 2020 month will return 3
});
</script>
この解決策は私にとってうまくいきました。喜んでお手伝いいたします。この質問をしていただきありがとうございます。
日付を取得する方法はいくつかありますが、以下はyou can do it when you initialize the calendar
、それを使用すると、日付、月、年を個別に取得できます。
$('#calendar').fullCalendar({
dayClick: function(date, jsEvent, view) {
alert('Clicked on: ' + date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear());
},
});