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

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

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

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

Q&A

解決済

1回答

7327閲覧

jq.schedule.jsでスケジュールデータを変更する方法

kanegon2016

総合スコア7

JavaScript

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

0グッド

0クリップ

投稿2016/07/16 10:51

編集2016/07/19 14:43

jq.schedule.jsを使ってスケジュールアプリを作っているのですが
表示されているデータを変更しようとしているのですが、
変更しようとするrowsに値をセットしても
変更データの行がスケジュール表の下に追加されてしまい、
変更しようとする行の表示データを変更できません。

どなたかjq.schedule.jsの使い方を教えていただけないでしょうか?
JavaScriptの初心者で初歩的な質問で申し訳ありませんが
よろしくお願いいたします。

###該当のソースコード function index_show(event) { setSchedule(); setSchedule02(); } function setSchedule(){ var $sc = jQuery("#schedule").timeSchedule({ startTime: "08:00", // schedule start time(HH:ii) endTime: "20:00", // schedule end time(HH:ii) widthTime:60 * 10, // cell timestamp example 10 minutes timeLineY:60, // height(px) verticalScrollbar:20, // scrollbar (px) timeLineBorder:2, // border(top and bottom) debug:"#debug", // debug string output elements rows : { '1' : { title : '01:' }, '2' : { title : '02:' } }, change: function(node,data){ alert("change event"); }, init_data: function(node,data){ }, click: function(node,data){ alert("click event"); }, append: function(node,data){ }, time_click: function(time,data){ alert("time click event"); } }); } function setSchedule02(){ var $sc = jQuery("#schedule").timeSchedule({ rows : { '1' : { title : '01:', schedule:[ { start:'08:30', end:'09:30', text:'会議001', data:{ } } ] } } }); }

'1'の行にsetSchedule02で設定しているデータを追加したいのですが、
追加した行が表の下に追加されてしまいます。
よろしくお願いします。

jq.schedule.js
http://www.ateliee.com/archives/2040

テストソース

function index_show(event) { setSchedule(); // $("#schedule").timeSchedule().remove(); $("#schedule").remove(); setSchedule(); } function setSchedule(){ var $sc = jQuery("#schedule").timeSchedule({ startTime: "08:00", // schedule start time(HH:ii) endTime: "20:00", // schedule end time(HH:ii) widthTime:60 * 10, // cell timestamp example 10 minutes timeLineY:60, // height(px) verticalScrollbar:20, // scrollbar (px) timeLineBorder:2, // border(top and bottom) debug:"#debug", // debug string output elements rows : { '1' : { title : '01:' }, '2' : { title : '02:' } }, change: function(node,data){ alert("change event"); }, init_data: function(node,data){ }, click: function(node,data){ alert("click event"); }, append: function(node,data){ }, time_click: function(time,data){ alert("time click event"); } }); }

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

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

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

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

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

kei344

2016/07/16 12:50

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
guest

回答1

0

ベストアンサー

【jquery.schedule/jq.schedule.js at master · ateliee/jquery.schedule · GitHub】
https://github.com/ateliee/jquery.schedule/blob/master/js/jq.schedule.js#L104

とりあえず addScheduleData で追加は出来そうですが、編集や削除、データの出力(JSONなど)は(jq.schedule.jsに)実装されていないようです。編集を実装するのであれば、元データを変数で管理して、変更があるたび前のものを削除して再描画するしかないと思います。

JavaScript

1jQuery( '#schedule' ).addScheduleData( { start:'08:30', end:'09:30', text:'会議001', 2 click: function( node, data ) { 3 console.log( 'click event' ); 4 } 5} ); // 未テスト

投稿2016/07/17 10:34

kei344

総合スコア69398

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

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

kanegon2016

2016/07/19 14:41 編集

回答ありがとうございます。 >変更があるたび前のものを削除して再描画するしかないと思います。 上記の方法で、描画後、「schedule」を削除すると、再度、setSchedule()をコールしても スケジュール表が再描画しないのですが、以下の削除方法は間違っているのでしょうか? $("#schedule").timeSchedule().remove();でも $("#schedule").remove();でも再描画されませんでした。 お手数ですが、オブジェクトの削除方法を教えて頂けないでしょうか?
kei344

2016/07/17 15:25

コメント欄はマークダウンが効かない為、ソースは質問文に追記してください。 ※ 以前のソースはそのままに、コードブロックで追記してください。
kanegon2016

2016/07/19 14:49

removeをemptyに変更したところ、再描画できました。 元データを変数で管理して、変更があるたび前のものを削除して再描画する方式で 編集機能を実装できそうです。 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問