2012-03-29 7 views
0

開始日をカレンダーにどのように渡すことができるか理解できますか?私は配信スケジューラのカレンダーを作成し、データベースを介してフィードされているカレンダーの下のテーブルに配信の詳細を表示します。これは、ユーザーがテーブル情報を読み込むために暦日を選択したときにページを更新する必要があります。私は、ページに渡される開始日にカレンダーを開始する方法を理解することができます。FullCalendar passing starting dates

このように思えますが、私は間違っています。

$( '#calendar')。完全なカレンダー(オ​​プション)。 $( '#calendar')。fullCalendar( 'gotoDate'、 '2012-10-21');ドキュメントhttp://arshaw.com/fullcalendar/docs/current_date/gotoDate/

に基づいて

答えて

3

サンプルは、その月を覚えておいてください0ベースなので、10は11月を意味します。

$(document).ready(function() { 

    var calendar = $('#calendar').fullCalendar({ 
     events:[ 
      { title:'All Day Event', start:new Date(2012, 10, 20)}, 
      { title:'Long Event', start:new Date(2012, 10, 21), end:new Date(2012, 10, 22)} 
     ] 
    }); 

    $('#calendar').fullCalendar('gotoDate', 2012, 10, 21); 

}); 
+0

おかげで、それがとてもうまくいきました。 –

+0

私は知っている、これは私がちょうど作業しているコードからスニペットです]]その答えを受け入れる。 – biesior

+0

答えを一度も受け入れなかったので、私はあなたに+1を与えます。 – Rohrbs

1

ご協力ありがとうございました。私が探していた振る舞いを得るためにあなたの提案したコードを使用することができました。

上記の方法を使用している間、Firebugのコンソールには、現在の日付に関連付けられたビューと指定されたgotoDateに関連付けられたビューの2つのAJAXデータ要求が同時に実行されていることが表示されます。

ユーザーの視点から追加の遅延がないように見え、カレンダーは要求されたビューを最初から表示します。しかし、 'ロード'コールバックは何度か呼び出され、状況によっては奇妙な動作を引き起こす可能性があります。また、現在の日付に対する余分なAJAXリクエストに関連する他の望ましくない結果があるかもしれません。

イベントソースなしでカレンダーを初期化してから、上記のBiesiorのように希望の日付に移動し、イベントソースを追加することで、不要なAJAXリクエストを回避できました。シーケンスは以下の通りです。 私は、関係のないFullCalendarオプションとコールバックを削除して簡潔にしました。追加のAJAXパラメータといくつかのPHPがありますが、重要なのはイベントソースが指定されていることです。 2つの同時AJAXリクエストで

元のコードの結果:のみ希望AJAX要求で

$('#calendar').fullCalendar({ 
    events: { 
    url:'/Services/GetEvents.php', 
    type: 'POST', 
    data: { 
     lat: <?=$venLatitude?>, 
     lon: <?=$venLongitude?>, 
     userID: <?=$userID?>, 
     distance: <?=$distance?> 
    } 
    } 
}) 
$('#calendar').fullCalendar('gotoDate', <?=(int)substr($startDate,0,4)?>, <?=((int)substr($startDate,5,2))-1?>); 

この調整結果:

 $('#calendar').fullCalendar(); 
     $('#calendar').fullCalendar('gotoDate', <?=(int)substr($startDate,0,4)?>, <?=((int)substr($startDate,5,2))-1?>); 
     $('#calendar').fullCalendar('addEventSource', { 
       url:'/Services/GetEvents.php', 
       type: 'POST', 
       data: { 
        lat: <?=$venLatitude?>, 
        lon: <?=$venLongitude?>, 
        userID: <?=$userID?>, 
        distance: <?=$distance?> 
       } 
      }); 
+0

ここで新しい質問をしていますか? – NetStarter

+0

彼はfullcalendarのバグを指摘し、その問題を回避する方法を人々に示すように見えます。 – boatcoder