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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

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

jQuery

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

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

Q&A

解決済

1回答

588閲覧

javascriptで条件式の組み込み

1111777

総合スコア9

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

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

jQuery

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

Thymeleaf

Thymeleaf(タイムリーフ)とは、Java用のテンプレートエンジンで、特定のフレームワークに依存せず使用することが可能です。

0グッド

0クリップ

投稿2019/10/13 06:09

編集2019/10/13 07:30

html

1<input id="student" type=text/> 2<input id="teacher" type=text/>

したいこと
thymeleafフレームワークを使ってjsに変数を渡します。
渡された、生徒の名簿リストと担当教師のリストが渡され、生徒の名前が入力されるとその生徒の担当の教師が誰なのか分かるjsを書きたいがどのように書いたらいいでしょうか?

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

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

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

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

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

kyoya0819

2019/10/13 06:46

コントローラーとはなんですか?
1111777

2019/10/13 06:49

javaのコントローラーです
kyoya0819

2019/10/13 06:51

うーん?Javaも絡んでくるんですか? タグにはJavaScriptとjQueryとありますがJavaも絡んでくるならJavaのタグも追加した方が良いかと思われます。
1111777

2019/10/13 06:53

すいません追加できました
kyoya0819

2019/10/13 06:55

thymeleafというものを知らないのですがどのようなフォーマットで渡されるか例を提示していただけませんか?
1111777

2019/10/13 07:01

<script> /*<![CDATA[*/ var user = 'John'; var users = [{'name':'Nobuchan','age':4},{'name':'Daichan','age':3}]; /*]]>*/ </script>
1111777

2019/10/13 07:01

有難うございます!このようなデータが渡されます。
tery

2019/10/13 07:14

こちらですが 生徒と教師の紐付けが必要なのですが、 以下のような形で渡されるという想定でよろしいでしょうか 以下のようにできれば、学生と先生の紐付け可能かと思います var students = [ {'id:1,''name':'Nobuchan','age':4,'teacherID':3},{'id':2,'name':'Daichan','age':3,'teacherID':4} ]; var teacher = [{'id:3,''name':'yamada'},{'id':4,'name':'tanaka'}];
1111777

2019/10/13 07:18

なるほど、有難うございます!!紐ずけがない状態でデータを作ってしまっておりました。有難うございます。
1111777

2019/10/13 07:22 編集

すいません、上記の記載頂いた、紐ずけの書き方はdbの紐ずけの書き方でしょうか?それともjsの紐ずけの書き方なのでしょうか?データの紐ずけの仕組みが難しいです。
tery

2019/10/13 07:36

こちらですが DBにのみで紐づけるのは難しいかと思います まず先生と生徒のデータをDBからそれぞれ取得してきて thymeleafでループ処理などで、先生と生徒の紐付けした上記の配列を作る必要があるかと思います dbで紐づける場合SQLでjoinなどを使って行う形かと思います
1111777

2019/10/13 07:40

なるほど、有難うございます!!
guest

回答1

0

ベストアンサー

一応 studentsとteachersが紐付けできていて配列が作られている前提でコードを記載いたします。

<html> <head> <script> var students = [ { 'id': 1, 'name': 'Nobuchan', 'age': 4, 'teacherID': 3 }, { 'id': 2, 'name': 'Daichan', 'age': 3, 'teacherID': 4 } ]; var teachers = [{ 'id': 3, 'name': 'yamada' }, { 'id': 4, 'name': 'tanaka' }]; </script> </head> <body> <input id="student" type="text" /> <input id="teacher" type="text" /> <script> var studentElement = document.getElementById("student"); // 入力するたびに呼ばれる studentElement.addEventListener("input", function (event) { event.target.value /** 学生を名前検索 */ var findStudent = students.find(student => { return student.name === event.target.value; }); /** 学生が見つかったらひもづく先生を検索 */ if (findStudent) { var teacher = teachers.find(teacher => { return teacher.id === findStudent.teacherID; }); if (teacher) { alert(findStudent.name + "の先生は" + teacher.name + '先生'); } } }); </script> </body> </html>

投稿2019/10/13 07:37

tery

総合スコア88

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

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

1111777

2019/10/13 23:45

有難うございます!!あの、もし<input id="student" type="text" />が入力された時に 教えて頂いたjsで答えを割り出し、その教師の名前を<input id="teacher" type="text" />に表示されるようにしたい場合、 if (teacher) { alert(findStudent.name + "の先生は" + teacher.name + '先生'); } このアラートのところを変えたらいいだけでしょうか?その時どのように書くか教えて頂け ないでしょうか?
tery

2019/10/14 00:50

はい その通りになります alertをいかに差し替えたら、可能かと思います var teachrElement = document.getElementById("teacher"); teachrElement.value = teacher.name;
1111777

2019/10/14 06:30

教えていただき有難うございます。 上記はネットを見られて作成されたのでしょうか? それとも、本を見て辞書のように引っ張りながら作成されたのでしょうか? 作成方法を参考にしたいので、教えていただけないでしょうか?
tery

2019/10/14 09:31

こちらですが 経験がありましたので、何も見ずにエディタに書き込んで動作チェックして書き込みました このくらいの動きのプログラミングなら、 ドットインストールのjavascript講座などを見ると簡単に解説されているのでおすすめです
1111777

2019/10/15 00:22

そうなのですね!!ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問