web-dev-qa-db-ja.com

jQueryフルカレンダーで選択した月を取得する方法は?

データベースからのイベントを表示するために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を取得する必要があります。誰かがこの問題の解決策を持っていますか?

15
Pushparaj

あなたの質問を完全に理解していないかもしれませんが、画面上の現在の月を知る必要があるだけのように聞こえますか?

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
}

これがあなたが求めていたものでない場合は、申し訳ありません。

31
Matt H.

あなたに役立つかもしれない関数「getView」:

暦月の最初の日を取得するには:

$(cal).fullCalendar('getView').start

暦月の最終日を取得するには:

$(cal).fullCalendar('getView').end

カレンダーの最初の表示日を取得するには:(前月の最後の数日)

$(cal).fullCalendar('getView').visStart

カレンダーの最終表示日を取得するには:(来月の最初の数日)

$(cal).fullCalendar('getView').visEnd

14
user1709374

最後のバージョン(2018)では、このコードを使用する必要があります!

jQuery("#your_selector").fullCalendar('getDate').month()
2
r1si

フルカレンダーバージョン-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>

この解決策は私にとってうまくいきました。喜んでお手伝いいたします。この質問をしていただきありがとうございます。

0
Kamlesh

日付を取得する方法はいくつかありますが、以下は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());  
    },

});
0
prime