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

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

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

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

Q&A

解決済

2回答

605閲覧

switch文の使い方

aizawal-hiroki

総合スコア56

JavaScript

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

0グッド

0クリップ

投稿2017/06/08 08:58

データベースからとってきた内容を曜日ごとに振り当てて表示したいと思っているのですがswitch文の使い方がわかりません。
データにはそれぞれ名前とdayというもので日曜から土曜まで0から始まる数字を入れています。

javascript

1function createWeekly2(data) 2 { 3 var data = $(data); 4 console.log(data); 5 //初期化 6 $("#tdSunday").text(""); 7 $("#tdMonday").text(""); 8 $("#tdTuesday").text(""); 9 $("#tdWednesday").text(""); 10 $("#tdThursday").text(""); 11 $("#tdFriday").text(""); 12 $("#tdSaturday").text(""); 13 14 var day = $("day",$(data)).text(); 15 var name =$("name",$(data)).text(); 16 var pattern_days = $("pattern_days",data); 17 $("item",$(pattern_days)).each(function(){ 18 console.log($("name",this).text(),$("day",this).text()); 19 switch ($("day",this).text()){ 20 case 0: 21 $("#tdSunday").append($("name",this).text()); 22 case 1: 23 $("#tdMonday").append($("name",this).text()); 24 case 1: 25 $("#tdTuesday").append($("name",this).text()); 26 case 1: 27 $("#tdWednesday").append($("name",this).text()); 28 case 1: 29 $("#tdThursday").append($("name",this).text()); 30 case 1: 31 $("#tdFriday").append($("name",this).text()); 32 case 1: 33 $("#tdSaturday").append($("name",this).text()); 34 } 35 }); 36 37 }

html

1<table class="table-align-left"> 2 <tbody> 3 <tr> 4 <td color="red"></td> 5 <td id="tdSunday"></td> 6 </tr> 7 <tr> 8 <td></td> 9 <td id="tdMonday"></td> 10 </tr> 11 <tr> 12 <td></td> 13 <td id="tdTuesday"></td> 14 </tr> 15 <tr> 16 <td></td> 17 <td id="tdWednesday"></td> 18 </tr> 19 <tr> 20 <td></td> 21 <td id="tdThursday"></td> 22 </tr> 23 <tr> 24 <td></td> 25 <td id="tdFriday"></td> 26 </tr> 27 <tr> 28 <td></td> 29 <td id="tdSaturday"></td> 30 </tr> 31 <tr id="trRebootImmediately"> 32 <td></td> 33 <td id="tdRebootImmediately"></td> 34 </tr> 35 </tbody> 36 </table>

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

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

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

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

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

sleepsheep

2017/06/08 17:12

引数dataに入る値のサンプルを記載してもらえると回答の手がかりになると思います。
aizawal-hiroki

2017/06/09 01:16

例として動画の名前を「動画テスト」(name),日曜日を「0」(day)というデータが帰ってきます。console.logでは「動画テスト 0」と表示されます。表示したいデータとcaseで参照する曜日はとれていると思います
guest

回答2

0

ベストアンサー

switch文は常にcaseと一緒にbreakを併用して下さい

投稿2017/06/08 09:00

yambejp

総合スコア114572

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

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

aizawal-hiroki

2017/06/08 09:08

switch ($("day",this).text()){ case 0: $("#tdSunday").append($("name",this).text()); break; case 1: $("#tdMonday").append($("name",this).text()); break; case 2: $("#tdTuesday").append($("name",this).text()); break; case 3: $("#tdWednesday").append($("name",this).text()); break; case 4: $("#tdThursday").append($("name",this).text()); break; case 5: $("#tdFriday").append($("name",this).text()); break; case 6: $("#tdSaturday").append($("name",this).text()); break; } こんな感じで入れましたが内容が表示されません。appendの使い方が間違えているのでしょうか
yambejp

2017/06/08 13:43

あとはどんなデータが流れてきてるかわからないので、なんともいえません。 textをtdにappendするならtdの.text()を使って流し込んだほうがいいと思います appendするならdom(?)として渡してやる流れかと
aizawal-hiroki

2017/06/09 01:11

例として動画の名前を「動画テスト」(name),日曜日を「0」(day)というデータが帰ってきます。textの使い方あってるでしょうか var day = $("name",this).text(); var name = $("day",this).text(); switch (day){ case 0: $("#tdSunday").text(name); break; case 1: $("#tdMonday").text(name); break; case 2: $("#tdTuesday").text(name); break; case 3: $("#tdWednesday").text(name); break; case 4: $("#tdThursday").text(name); break; case 5: $("#tdFriday").text(name); break; case 6: $("#tdSaturday").text(name); break; }
guest

0

どうやら帰ってくるdayの値が数値ではなく文字列だったみたいです。cakephpからxmlで返してたのでコンソールログだとどっちなのかわかりづらくもしかしてと思ったらその通りでした…。ありがとうございました

投稿2017/06/09 02:05

aizawal-hiroki

総合スコア56

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問