2011-01-18 23 views
2

私はFullCalendarを見ていますが、私はいくつかの問題に遭遇しました。フルカレンダーの既存のインスタンスにさらにイベントを追加するにはどうすればよいですか?

問題1.

私は、既存のインスタンスに新しいイベントを追加する方法がわからない

$('#calendar').fullCalender({ // options set }); // initial set. 

だから今、私は後でこれにJSONフィードを追加したり削除したい場合は言います既存のフィード。私はこれを行う方法を知っている唯一の方法は

$('#calendar').fullCalendar('removeEventSource', "Calendar/GetDates"); 
$('#calendar').fullCalendar('addEventSource', "Calendar/GetDatesSearch?term=8"); 

である私は、私は各オプションのカレンダーXの時間を選択するようになったとして、これはちょっとばかげていると思いますか?私はしようとしました

$('#calendar').fullCalender(
    { 
     addEventSource: "Calendar/GetDatesSearch?term=8", 
     removeEventSource, "Calendar/GetDates" 
    }); 

しかし、これはまったく新しいカレンダーを生成するように思えます。だから私は複数のカレンダーを持っています(私が欲しくないもの)。

私の第二の問題は、

私はアンカータグにクリックイベントを持っている

<a href="#" id="ReRender">Re-Render</a> 

、その後

$('#ReRender').click(function() { 
    $('#calendar').fullCalendar('removeEventSource', "Calendar/GetDates"); 
    $('#calendar').fullCalendar('addEventSource', "Calendar/GetDatesSearch?term=8");   
    return false; 
}); 

私はそれが動作アンカータグ(再描画)をクリックしてください第一ちょうど良い。私はそれを数回クリックし、矢印を押して次の月に行くと同じフィードを複数回レンダリングします。

だから私は毎回私がそれをクリックしても、同じフィードであっても別のフィードを追加していると推測しています。

「ReRender」を50回クリックして来月にヒットします。たとえ同じフィードでも、私は50のフィードを持っていると思う。

これを回避する方法についての推奨事項はありますか?

答えて

3

私はfullCalendarが大好きです!あなたはフィードが再レンダリングされている場合、イベントが固執したい場合は、新しいイベントは次のように行われている追加しています...

$("#calendar").fullCalendar("renderEvent", eventObj, true); 

三番目のパラメータを指定します。私は通常そうします。また、あなたのイベントを再描画する

...

$("#calendar").fullCalendar('rerenderEvents'); 
+0

このすべては、ドキュメントの「イベント・レンダリング」セクションの下に記載されています。 –

+0

申し訳ありません。 rerenderEventsを使用していない理由を指定する必要があります。新しいデータフィードが必要なためです。私はfullCalendarも好きですが、作成した後に追加/変更したい各オプションのセレクタを実行する必要がない場合は、もっと使いたいと思います。これを一気にやり遂げるのはいいことです。 – chobo2

+0

多くの操作で、簡単にこれを行うことができます:var fullCal = $( "#calendar"); fullCal.fullCalendar(....)で操作します。 – Adrian

関連する問題