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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

5回答

665閲覧

ラジオボタンがラジオボタンとして機能しない

pon147

総合スコア11

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2019/07/16 08:50

liやspanなどで囲ってみてもラジオボタンとしての動作ではなく1個目を選択し2個めを選択すると1個めのチェックが解除されると思うのですが入りっぱなしになる状態です。
見た目としてはラジオボタンなのですが実際は挙動が異なってしまいます。

またもう一つ動作を追加したいと思っているのでそちらも教えていただきたいです。
途中まではあっているとは思うのですが「:checked」に対しての指定がうまくいっていないか機能していないようなんです。

HTML

1<div class="no1"><label for="no1-1"><input type="radio" id="no1-1">hover1</label></div> 2<div class="no2"><label for="no2-1"><input type="radio" id="no2-1">hover2</label></div> 3<div class="no3"><label for="no3-1"><input type="radio" id="no3-1">hover2</label></div> 4<div class="no4"><label for="no4-1"><input type="radio" id="no4-1">hover2</label></div> 5<div class="no5"><label for="no5-1"><input type="radio" id="no5-1">hover2</label></div> 6<div class="no6"><label for="no6-1"><input type="radio" id="no6-1">hover2</label></div> 7 8<!--↓背景を設定するのに利用している部分です--> 9 <div class="wrapper"> 10 <div class="contents"> 11 12 </div> 13 </div> 14<!--↑背景を設定するのに利用している部分です--> 15 16<div class="noA"> 17<h1>sample</h1> 18<p>sample<br>sample</p> 19</div>

CSS

1/*切り替わる画像サイズと表示場所の指定、 2今回はhtmlファイルカラのDIVで囲った空のとこに対して出す*/ 3.wrapper { 4 width: 100%; 5 height: 100%; 6} 7.contents { 8 height: 100vh; 9 background-image: url(img/1-1920-1080.jpg); 10 background-position: center; 11 background-repeat: no-repeat; 12 background-size: cover; 13 /*margin-top: -300px;/*ボタン一個追加ごとに50px上乗せヘッダー下部に不要なスペースできるためつぶすために必要*/ 14} 15 16/*指定のラジオボタンをホバーすると切り替わる予定の画像設定と動作*/ 17.no1:hover ~ .wrapper .contents { 18 background-image: url(img/541.png); 19} 20.no2:hover ~ .wrapper .contents { 21 background-image: url(img/3-1920-1080.jpg); 22} 23.no3:hover ~ .wrapper .contents { 24 background-image: url(img/2-1920-1080.jpg); 25} 26 27/*ボタン押すまで消えてる文章の表示場所や消す設定*/ 28 29.noA h1 {text-align: center;} 30 31/*-700はHTMLのラジオボタンの数が増えるとHP表示の際に 32上部に空白ができてしまうために数値が大きいです*/ 33.noA {width: 600px; height: 100px; 34 font-weight: bold; 35 color: red; 36 position: relative; 37 top:-700px; 38 left: 30% 39 } 40 41 42/*ラジオボタンにチェックが入るまで非表示にする*/ 43.noA {display: none;} 44/* 45指定のラジオボタンにチェックが入ったら下記に指定した画像が背景画像に切り替わり、 46非表示にしていた.noAの文字が出るようになる 47*/ 48.no1 input[type="radio"]:checked + label ~ .wrapper .contents{ 49 background-image: url(img/at.png); 50} 51 52/*.no2のボタン.no3のボタンと続きます*/ 53 54

前提・実現したいこと

1.ラジオボタンが通常のラジオボタンの選択するように常に1個しか選択できないようにしたい。

2.指定のラジオボタンが選択された場合に下記に指定した場所に画像のみ入れ替わって表示されるようにしたい
(表示された場合別のラジオボタンがされた場合はそちらに指定した画像に代わるように動作させたい)
.contents {
height: 100vh;
background-image: url(img/1-1920-1080.jpg);
background-position: center;
background-repeat: no-repeat;
background-size: cover;}

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

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

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

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

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

yukikp

2019/07/16 08:55

name属性がどこにもないよ〜
guest

回答5

0

HTML5だと同じnameでもform属性で別々のグルーピングができます

CSS

1<form id="1"></form> 2<form id="2"></form> 3<div class="no1"><label><input type="radio" name="hoge" form="1">hover1</label></div> 4<div class="no2"><label><input type="radio" name="hoge" form="1">hover1</label></div> 5<div class="no3"><label><input type="radio" name="hoge" form="1">hover1</label></div> 6<div class="no4"><label><input type="radio" name="hoge" form="2">hover2</label></div> 7<div class="no5"><label><input type="radio" name="hoge" form="2">hover2</label></div> 8<div class="no6"><label><input type="radio" name="hoge" form="2">hover2</label></div>

投稿2019/07/16 09:33

編集2019/07/16 09:34
yambejp

総合スコア114779

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

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

yukikp

2019/07/16 12:00

へーへーへー!x10
guest

0

name属性を同名で付けることによりグループ化されます。

何かしらで送信する場合などはvalue属性の情報を拾うので、valueも設定しておいたほうが良いでしょう

html

1<input type="radio" name="test1" value="1">1 2<input type="radio" name="test1" value="2">2 3<input type="radio" name="test1" value="3">3 4 5<input type="radio" name="test2" value="1">1 6<input type="radio" name="test2" value="2">2 7<input type="radio" name="test2" value="3">3

投稿2019/07/16 09:06

m.ts10806

総合スコア80850

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

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

0

ベストアンサー

liやspanなどで囲ってみてもラジオボタンとしての動作ではなく1個目を選択し2個めを選択すると1個めのチェックが解除されると思うのですが入りっぱなしになる状態です。

<input type="radio">に同じnameを指定してください。nameで連動します。

指定のラジオボタンが選択された場合に下記に指定した場所に画像のみ入れ替わって表示されるようにしたい

今のところ、:checkedで拾って変動させられる範囲が、兄弟要素とその子孫に限られますので、このHTML構造ではCSSだけで実現できません。JavaScriptでの書き直しが必要です。

投稿2019/07/16 09:04

maisumakun

総合スコア145183

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

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

0

form で くくって 同じ name をつけなくちゃね。

参考 <INPUT type="radio"> …… ラジオボタンを作成する

投稿2019/07/16 08:57

showkit

総合スコア1638

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

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

0

ご自身の時間を割いて解答してくださった皆様ありがとうございました。

投稿2019/07/16 15:14

pon147

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問