jQuery FullCalendar - イベントを追加してカレンダーに表示しようとして失敗しました
-
21-09-2019 - |
質問
私は、Adam Shaw の素晴らしい jQuery プラグイン、FullCalendar を使用してプロジェクトにイベントを追加する方法を考え出そうとしています。 オンラインバルーン注文ページは開発中です
基本的に、「step1」をクリックして「ショップのピックアップ」を選択すると、ページはカレンダービューに届きます。ここでは、「週」ボタンの右上隅をクリックして、ビューを毎週に変更できます。基礎。私が達成しようとしているのは、クライアントが 1 日に空のスロットをクリックすると、その場でイベントを作成できることです。これがcustom.jsの私のコードです:
dayClick: function()
{
var n = parseInt(this.className.match(/fc\-slot(\d+)/)[1]);
alert('a day has been clicked on slot ' + n);
//trying to add an event using the renderEvent() method.
$('#' + type + 'Calendar').fullCalendar('renderEvent',
{
title : 'my pickup slot',
start : new Date(y,m,d, 12, 30),
end : new Date(y,m,d, 13, 00),
});
}
FullCalendar の API メソッドを使用しようとします レンダーイベント ということで、このようなイベントを作りました。ただし、コードはエラーなしで実行され、どのスロットがクリックされたかを示すプロンプトは表示されますが、そのような新しいイベントはカレンダーに表示されません。
これを行う別の方法があるのでしょうか、それとも私のコードが何か間違っているのでしょうか?
何かご提案がございましたら、よろしくお願いいたします。よろしくお願いいたします。
解決
それは単純な見落としです。の値 type
関数内で loadCalender(type)
に設定されています pickupCalendar
電話から closeStep1OpenSetp2("pickupCalendar");
.
しかし、あなたは行います $('#' + type + 'Calendar')
と評価されるもの $('#pickupCalendarCalendar')
この ID を持つ要素はありません。正しいのは $('#pickupCalendar')
したがって、パラメータの Calendar を削除するか、 + 'Calendar'
. 。そうすれば問題なく動作するはずです