

こんにちは、いつもお世話になっております。
JSPで作っているのですが、ラジオボタンなのでHTMLの方でおたずねします。
for文で動的なラジオボタンをつくり、出来た列の先頭をあらかじめ選択済にしておきたいのですが、一番最後が選択済になってしまいます。
選択済みにしたい場合はしたい場所に< checked> を記述すればいいのは分かるのですが、
<input type="radio" value="i" checked> (※i=変数)
のような動的な場合はどこに設定すればよいのでしょうか?
「checked="top"」みたいな書き方が出来ればいいのですが…
ご存知の方がいらっしゃったらご教授ください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
JSP(Java)の構文はよく分からないのでヒントだけ。
まず、checked属性がついていない場合の動作はクライアント(ブラウザ)
依存です。
一番最初か一番最後が選択された状態になったり何も選択されない
状態になったりします。
これはHTMLとしては文法違反となります。
一方で、今回はすべての type="radio" に対してchecked属性を
つけてしまったようですね。
ループを使用している場合、フラグ変数をたてたりして指定の部分だけ
checked属性をつけるようにするといいです。
PerlCGIではよく以下のようにします。
for(my $i = 0; $i < 10; $i++) {
# ループの最初だけ ' checked' をつける
my $checked = ' checked' if($i == 0);
# フォームを表示する
print "<input type=\"radio\" name=\"radio_$i\" value=\"$i\"$checked>\n";
}
Javaでも応用すれば同様のことはできると思います。
No.2
- 回答日時:
JSPの事はわからないので的外れかも知れませんが…
「一番最後が選択済になって」しまうのは、「for文で動的なラジオボタンをつくり、出来た列」の<input type="radio"~>の全てにchecked属性が入っている為だと思います。ラジオボタンは「単一選択」ですから、同一の選択肢(name)の中ではchecked属性は常に1つのみにしかつけられません(つまり「「checked="top"」みたいな書き方」というのは存在しません)。もしそれに反してchecked属性が同一name中の全ての選択肢に入ってしまっていたら、より後の選択肢に上書きされて行く事になり、結局一番最後のものが「選択済み」状態で表示されてしまいます。
なので、
<input type="radio" name="hoge_01" id="hoge_01_1" value="1" checked>
<input type="radio" name="hoge_01" id="hoge_01_2" value="2">
(以下同様)
という様にしたいのであれば、checked属性の記述部分も変数にして、動的に書き出されるグループの常に一番最初のみその属性を表示し、残りの選択肢には表示しない…という様な設定ができればよいと思うのですが、その様にはできませんか?
解説ありがとうございます。
なぜそうなってしまうのか良くわかりました!!
でもよくある一覧表示などではたいてい一番先頭が選択済みになってるのでできるはずですよね。
check属性の部分も変数にするというのは考えたのですがうまくいきませんでした。
>動的に書き出されるグループの常に一番最初のみその属性を表示し、残りの選択肢には表示しない…という様な設定
これがどんなものになるのか…まだ検討してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
「value」に2つの値をセットす...
-
INPUT TYPE
-
FORMのselectの選択肢を最初か...
-
OPTIONタグにループは使えない...
-
ラジオボタンを選択済みにする...
-
PHPで検索ボタンを押さずに検索...
-
SUN BBSの改造方法
-
wordの数式について 定積分を書...
-
VB.net データーグリッドビュー...
-
[HTML]プルダウンメニューの横...
-
チェックボックスの返す値
-
【ASP.NET MVC】フォームヘルパ...
-
左右のフレームを同時にスクロ...
-
掲示板(kentさんの所のsunbbs...
-
CGI によるファイルのアップロード
-
フォームの入力内容の後ろに文...
-
MSPゴシックで、一番幅を取る文字
-
(Perl)ReadParseによるハッシ...
-
VB初心者。小数点以下の表示で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンが両方とも選択で...
-
「value」に2つの値をセットす...
-
select値をhiddenのvalueに渡し...
-
チェックボックスとセレクトボ...
-
FORMのselectの選択肢を最初か...
-
INPUT TYPE
-
<input type="reset"> の仕様に...
-
OPTIONタグにループは使えない...
-
WEBアンケート
-
formから送信する値について
-
何がおかしいのでしょうか?
-
HTMLの質問
-
リストボックス(multipleなsel...
-
Googleサイト内検索窓設置について
-
ラジオボタンを選択済みにする...
-
二つのプルダウンメニューから...
-
FORMの値を返す方法です。
-
<select>タグの幅設定
-
プルダウン
-
PHPで検索ボタンを押さずに検索...
おすすめ情報