2016-07-27 6 views
1

jqueryフルカレンダーを使用してこの問題に取り組んでいます。私は同じ見解で2つのカレンダーを持っています。左のカレンダーで1つのイベントをクリックすると、そのイベントは消え、同時に同じカレンダーに同じイベントが表示されます。イベントオブジェクトのソースプロパティでレンダリングが失敗する

この問題は、イベントオブジェクトのsourceプロパティによって発生します。

eventClick: function(calEvent, jsEvent, view) { 
    var a = { 
       "id": 5, 
       "color": "#2CC870", 
       "title": "work", 
       "name": "Helen", 
       "start": "2016-07-28T14:37:00.000Z", 
       "end": "2016-07-28T16:37:00.000Z", 
       "_id": "5", 
       "className": [], 
       "allDay": false, 
       "_allDay": false, 
       "_start": "2016-07-28T14:37:00.000Z", 
       "_end": "2016-07-28T16:37:00.000Z", 
       // "source": { 
       // "url": "/requests/employer", 
       // "className": [], 
       // "_fetchId": 1, 
       // "_status": "resolved" 
       // }, 
      } 

    $('#js-request-employer-calendar').fullCalendar('removeEvents',a.id); 
    $('#js-request-employee-calendar').fullCalendar('renderEvent',a); 

    console.log(calEvent); 
    console.log(jsEvent); 
    console.log(view); 

    // change the border color just for fun 
    $(this).css('border-color', 'red'); 

} 

イベントオブジェクトにsourceプロパティを保持すると、新しいイベントは表示されません。それを隠すとうまくいく。

助けてくれてありがとう!

答えて

1

これは予想される動作です。 sourceプロパティには自動的に値を設定する必要があります。あなたが特定のソースにイベントを追加しようとしている場合、これは修正されません

、バグトラッカーの詳細を参照してください。https://github.com/fullcalendar/fullcalendar/issues/2537

唯一の他のソリューションを削除し、すぐに戻って追加することですイベントソース。

+0

自動的に入力する必要があるため、ソースプロパティのイベントオブジェクトをあるカレンダーから別のカレンダーに転送することはできません。私は最終的に転送する前にsourceプロパティを削除するためにdeleteを使用しました。しかし、なぜこれが機能していないのかを知ることは良いことです。ありがとう! – whales

+0

お待ちください、clientEventsメソッドを使用してクライアントイベントを取得しようとしましたか、この関数で提供されているcalEventを使用しましたか?このデモを見る - イベントはコピーされ、同じカレンダー内ではあるが+3日に移動される。 http://plnkr.co/edit/lDHhdkGWyhE9yR4BHtzy?p=preview //またはeventClickとの別のリンク:http://plnkr.co/edit/N1Qjg6dkVQPqwiUnP3Bn?p=preview – K48

+0

私はこの例ではフェッチするのに異なる方法を使用したと思うイベントオブジェクトそれは別のカレンダーで動作するかどうかはわかりません。助けてくれてありがとう。 – whales

関連する問題