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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2437閲覧

FullCalendar(js)での特定の日のイベントのコピー処理

mirell_strife

総合スコア0

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/11/16 09:13

編集2020/11/16 11:56

初めまして。
解決法の見つからない問題に当たってしまい、お力を借りたく質問させて頂きます。

前提・実現したいこと

Fullcalendar(v5)にて、月200程度のイベントを管理するシステムを開発しています。
特定の日付に登録されているイベントを翌週へコピーしたいのですが、コピー実行時に新しくイベントは登録されるのですが、コピー元のイベントまで一緒に移動してしまいます。

発生している問題・エラーメッセージ

問題:コピー元のイベントが処理実行時にコピー先に移動してしまう

エラー:特になし

該当のソースコード

javascript

1dateClick : function(info){ 2 calendar.batchRendering(function(){ 3 var vals = []; 4 var date = info.dateStr; 5 var dateSP = info.dateStr.split('-'); 6 var dateJP = dateSP[1] + '月' + dateSP[2] + '日の予定'; 7 var events = calendar.getEvents(); 8 events.forEach(function(val, i){ 9 //選択した日付のイベントを取得////////////////////////////////////// 10 if(val.startStr.match(date)){ 11 vals.push(val); 12 } 13 }); 14 //イベントが1件以上の場合ポップアップ表示////////////////////////////// 15 if(vals.length >= 1){ 16 $.when( 17 $('body').prepend('<div id="popup"><span class="popupHead">' + dateJP + '<span class="popupClose" title="閉じる"></span></span><div class="popupContent"></div></div>'), 18 $('#popup').css({top : '40vh', left : '40vw'}), 19 vals.forEach(function(val, i){ 20 var Name = val.extendedProps.Name; 21 var DateTime = val.startStr.split('T'); 22 var Time = DateTime[1].split('+'); 23 $('.popupContent').append('<dl><dd>' + Time[0].substr(0, 5) + ' - ' + Name + '</dd></dl>'); 24 }) 25 ).done(function(){ 26 $('#popup').fadeIn(); 27 $('.popupContent').append('<span style="display: inline-block; width: 50%; text-align: center;"><input type="button" id="resCopy" value="次週へ予定をコピー"></span>'); 28 $('#resCopy').click(function(){ 29 calendar.batchRendering(function(){ 30 vals.forEach(function(val, i){ 31 var dateTimeObj = val.startStr.split('T'); 32 var dateObj = dateTimeObj[0].split('-'); 33 var timeSp = dateTimeObj[1].split('+'); 34 var timeObj = timeSp[0].split(':'); 35 36 var date = new Date(parseInt(dateObj[0]), parseInt(dateObj[1]) - 1, parseInt(dateObj[2]) + 7, parseInt(timeObj[0]) + 9, parseInt(timeObj[1])); 37 var dateSp = date.toISOString().split('.'); 38 val.setStart(dateSp[0]);//翌週の日付を設定 39 40 calendar.addEvent({ 41 42 /*(各種イベント登録情報)*/ 43 44 45 }); 46 }); 47 }); 48 }); 49 }); 50 } 51 }); 52 },

試したこと

Fullcalendarに関する情報各種を集めていますが、JQuery版の情報ばかりで、何分最新のJavascript版の情報自体が少なく、公式ドキュメントでも知りたい情報が見つからず困っています。
もしjs版Fullcalendarについて詳しい方がおられましたら、どうかお力をお貸しください。

補足情報(FW/ツールのバージョンなど)

FullCalendar v5
JQuery 3.5.1

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

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

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

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

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

guest

回答1

0

自己解決

一度改めて見直し、自己解決致しました。
val.setStart(dateSp[0])で元のイベント自身の日付を変えてしまうという初歩的なミスでした。
お騒がせ致しました。

投稿2020/11/17 00:25

mirell_strife

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問