質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

10447閲覧

fullCalendarでviewを変えた時にevent内容を変えたい

u-sukesan

総合スコア156

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/03/26 02:08

編集2019/03/26 02:09

fullCalendarで予定表を作成しております。

やりたいこととしては
日、週、月とviewがありますが

日、週のviewの時は個々のイベントを表示する
月の時はイベントの数だけ表示する機能を考えています。
イベントはajaxで読み込んでおります。

現状はイベントの表示は機能しております。

可能かどうかわかりませんが考えたのは

javascript

1 2$('#schedule').fullCalendar({ 3//読み込み時 4events: function(start, end, timezone, callback) { 5$.ajax({ 6 url: 'json-events.php', 7 dataType: 'json', 8 data: { 9 start: start.unix(), 10 end: end.unix(), 11 views: 現在のビュー 12 }, 13 success: function(res) { 14 callback(res); 15 },error:function(res){ 16 console.log(res) 17 } 18 }); 19} 20 21//changeviewした時に「現在のビュー」を変更してeventを再読み込み 22//changeviewなんてアクションがあるかもわかりませんが、想像ですいません。 23 24changeview:function(start, end, timezone, callback) { 25 events: function(start, end, timezone, callback) { 26 $.ajax({ 27 url: 'json-events.php', 28 dataType: 'json', 29 data: { 30 start: start.unix(), 31 end: end.unix(), 32 views: 現在のビュー 33 }, 34 success: function(res) { 35 callback(res); 36 },error:function(res){ 37 console.log(res) 38 } 39 }); 40 } 41 42} 43});

PHP側では

PHP

1if($_REQUEST['views']=="month"){ 2//イベントカウント  3// SELECT COUNT() AS count FROM yotei WHERE dat BETWEEN $_REQUEST['start'] AND $_REQUEST['end'] GROUP BY dat 4}else{ 5//イベント一覧 6// SELECT * FROM yotei WHERE dat BETWEEN $_REQUEST['start'] AND $_REQUEST['end'] ORDER BY dat 7 8}

または読み込み時に
イベントの内容と、イベントの個数も一緒に取ってきて
日、週 と 月の表示切り替えの時に、CSS:classで表示内容を変える?
など考えてみましたが、わからずに質問いたしました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

viewRender に登録した関数内でどのビューかわかるので、それをグローバル変数で保存するとかどうでしょう。

【viewRender - Docs v3 | FullCalendar】
https://fullcalendar.io/docs/v3/viewRender

【イベントカレンダープラグイン(その11・FullCalendarを独自にカスタマイズする) - The blog of H.Fujimoto】
https://www.h-fj.com/blog/archives/2014/04/30-173842.php

投稿2019/03/26 02:26

kei344

総合スコア69357

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

u-sukesan

2019/03/26 02:49

なるほど、確かにviewRenderの中で、viewステータスが取れますね。 その中でイベントをremoveしてaddEventSourceで書き換えると言うことですね
kei344

2019/03/26 02:57

FullCalendar に詳しくないので、eventsに登録している関数で で viewRender の時に保存した変数を使うようにして、viewRender 時にイベントの再読み込みをさせるという想定で書いていました。 【rerenderEvents - Docs v3 | FullCalendar】 https://fullcalendar.io/docs/v3/event-display (これとかで再読み込みできそう。ただ、公式のサンプルに全角文字 混ぜるってどんな公式よ)
u-sukesan

2019/03/26 08:32

まだ最終的にやりたいことはできていませんが、viewRender内で分けられそうです。 ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問