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

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

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

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

9305閲覧

Springでラジオボタンをチェック済みにする方法

coucou

総合スコア22

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

1グッド

0クリップ

投稿2019/05/28 04:21

下記のようなテーブルでチェック済みにしたいのですが、どうやらth:fieldがあるとチェック済みにならないみたいです。
しかし、th:fieldは使いたいので、もし他のやり方がありましたら教えていただきたいです。

<table> <tr> <td rowspan="2">食事:</td> <td><input type="radio" name="eat" value="1" th:field="*{todayOfMeal}" ></td> <td><input type="radio" name="eat" value="2" th:field="*{todayOfMeal}" checked ></td> <td><input type="radio" name="eat" value="3" th:field="*{todayOfMeal}" /></td> </tr> <tr> <td>残した</td> <td>完食した</td> <td>おかわりした</td> </tr> </table> </tr>
yyyyssss👍を押しています

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

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

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

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

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

rubytomato

2019/05/28 10:47

ご質問の内容をもう少し詳しく確認したいのですが、ページの初期表示として食事を選択するラジオボタンの”完食した”がチェックされた状態で表示したいということでしょうか?(つまり変数todayOfMealに値がセットされていないときは”完食した”のラジオボタンがチェックされた状態で表示したい。) それとも変数todayOfMealの値の位置のラジオボタンがチェック状態にならないということでしょうか?
coucou

2019/05/28 11:50

ありがとうございます。 画面表示したときに、チェックがされた状態にしたいということです。
rubytomato

2019/05/28 13:12

1) ページを初期表示するときは2番目のラジオボタンにチェックが付いた状態にする 2) ユーザは3つのラジオボタンからどれかを必ず選択する 3) フォームをサブミットして入力エラーがあった場合は、この画面を再表示して入力エラーを訂正してもらう。その際、このラジオボタンのチェックはユーザが選択した箇所に付いている状態にする(3番目をチェックしていた場合は、3番目がチェックされた状態で表示) 以上のフローを想像しましたが、この認識であっていますか?
coucou

2019/05/28 13:20

はい。その通りでございます。
guest

回答2

0

ベストアンサー

以下、2カ所修正してみてください。

  1. コントローラ側

コントローラ側でformオブジェクトのtodayOfMealフィールドに初期値をセット(例えば"2")してください。
そのformオブジェクトをテンプレートエンジン(thymeleaf)へ渡します。

  1. テンプレート側 (htmlファイル)

checkedとname属性を削除してください。

<input type="radio" value="1" th:field="*{todayOfMeal}" > <input type="radio" value="2" th:field="*{todayOfMeal}" > <input type="radio" value="3" th:field="*{todayOfMeal}" >

これで、期待通りの動作になるご確認ください。

投稿2019/05/28 13:30

rubytomato

総合スコア1752

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

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

coucou

2019/05/28 13:43

できました! 考え方も理解できました。ありがとうございます。
guest

0

こんにちは。

https://teratail.com/questions/81108

この回答とか試してみてはいかがでしょうか?

投稿2019/05/28 04:35

kogure

総合スコア299

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

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

coucou

2019/05/28 05:45

もしかしたら、理解が間違っているかもしれませんが、 th:checked="${ true}" のようにして試してみましたができませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問