初心者ですが、javascriptを使い簡単なツールを作成したいです。
作りたいおおまかな内容は、
ラジオボタンの選択による表示内容の切り替えを2段階でできるのようにしたいのですが、どのようにすればよいのでしょうか?わかりにくい説明で申し訳ありませんが、御回答お願いします!
サンプル⇩(最初のラジオボタンで切り替わった画面に、ラジオボタンを作り、選択するとさらに表示内容が切り替わるようにしたい)
<input type="radio" name="msg_type" id="radio1">A表示<br>
<input type="radio" name="msg_type" id="radio2">B表示<br>
<br>
<div id="div_msg1" style="display:none">
ラジオボタンC ラジオボタンD を作成したい
</div>
<div id="div_msg2" style="display:none">
ラジオボタンE ラジオボタンF を作成したい
</div>
<script language="JavaScript">
radio1.onclick = f;
radio2.onclick = f;
function f()
{
if( radio1.checked )
{
div_msg1.style.display = "";
div_msg2.style.display = "none";
}
else
{
div_msg1.style.display = "none";
div_msg2.style.display = "";
}
}
</script>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんなかんじでしょうか
<style>
.optional { display: none; }
.optional.chosen { display: block; }
</style>
<script>(function(_){
_ ; function A(a){return Array.prototype.slice.apply(a)}
_ ; function QQ(s,b){return A((b?b:document).querySelectorAll(s))}
_ ; function C(e, tag){while (e && e.tagName != tag.toUpperCase()) e = e.parentNode; return e}
_ ; // フォーム内容で表示を切り替え
_ ; function refineDisplay(form) {
_ ; _ ; function check(e,t,m){return t && e.classList.contains('type' + t) || m && e.classList.contains('model' + m)};
_ ; _ ; // 選択によって切り替え
_ ; _ ; var t = form.elements['t'].value, m = form.elements['m'].value;
_ ; _ ; QQ('.optional').forEach(function(e){e.classList.toggle('chosen', check(e,t,m))});
_ ; _ ; // 非表示になったら選択は初期化
_ ; _ ; QQ('.optional:not(.chosen) input').forEach(function(e){ if ((e.name == 't' || e.name == 'm') && e.checked) e.checked = false });
_ ; _ ; // 初期化されたので再度切り替え
_ ; _ ; t = form.elements['t'].value, m = form.elements['m'].value;
_ ; _ ; QQ('.optional.chosen').forEach(function(e){e.classList.toggle('chosen', check(e,t,m))});
_ ; }
_ ; // 最初から選択がある場合
_ ; window.addEventListener('DOMContentLoaded', function(ev){
_ ; _ ; refineDisplay(document.forms['refinement']);
_ ; }, false);
_ ; // ユーザー操作で選択が変わった場合
_ ; window.addEventListener('change', function(ev){
_ ; _ ; var form = C(ev.target, 'form');
_ ; _ ; if (form && form.name == 'refinement') refineDisplay(form);
_ ; }, false);
})()</script>
<form name=refinement>
<ul>
<li><label><input type=radio name=t value=A>type.A</label>
<li><label><input type=radio name=t value=B>type.B</label>
</ul>
<ul class='optional typeA'>
<li><label><input type=radio name=m value=C>model.C</label>
<li><label><input type=radio name=m value=D>model.D</label>
</ul>
<ul class='optional typeB'>
<li><label><input type=radio name=m value=E>model.E</label>
<li><label><input type=radio name=m value=F>model.F</label>
</ul>
<p class='optional modelC'>content of type.A model.C
<p class='optional modelD'>content of type.A model.D
<p class='optional modelE'>content of type.B model.E
<p class='optional modelF'>content of type.B model.F
</form>
No.1
- 回答日時:
ラジオボタンは普通にHTMLの記述です。
で、「ラジオボタンを選択された(またはクリックされた)際に、そのイベントをひろってあるURLの内容を表示する」という動作をJavascriptで書けばよいです。
イベントのひろい方はJavascriptの解説本や解説サイトを参照されればよいです。
解説サイトはGoogleなどで「javascript 初心者」とか「javascript 入門」といった適当なキーワードで検索するとたくさん見つかりますから、それらを幾つか参照してご自身が「このサイトが分かりやすい」というところを選ばれるとよいでしょう。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスのON/OFFに連...
-
JavaScriptでラジオボタンのチ...
-
ラジオボタンの選択で解答・点...
-
tableの任意行にfocusをあてる
-
クリックされた罫表セルの行番...
-
全てのselect要素をデフォルト...
-
プルダウン 項目が多いので先頭...
-
一覧から選択した行の行番号を...
-
submitするとなぜか2度実行する
-
自動的に連番生成したURLにリン...
-
ドロップダウンリストの値の足...
-
チェックボックス付きのテーブ...
-
チェックボックスにチェックが...
-
複数のプルダウンメニューの表...
-
変数の宣言?
-
リンク先にまで色変更されたま...
-
セレクトボタンで特定の項目で...
-
新規ウインドウから他のページ...
-
クリックさせたいが、click()が...
-
テーブルのサイズを変更するこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptを使ってラジオボタ...
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンにチェックを入れ...
-
ラジオボタン未チェックの場合...
-
チェックされたラジオボタンに...
-
Jvasvriptのlengthで個数が取得...
-
フォームPOST後「戻る」時のチ...
-
データベースの値を判断してラ...
-
チェックボックスのON/OFFに連...
-
ラジオボタンでチェックした項...
-
サイト内にGoogleサイトを表示...
-
JavaScript ラジオボタン デ...
-
ラジオボタンでdisabledとchecked
-
リンク文字クリックでラジオボ...
-
ポップアップウインドウで選択...
-
jQueryで複数のラジオボタンを処理
-
js radioボタンの「name」を多...
-
ラジオボタンとif文
おすすめ情報
御回答ありがとうございます。
できれば、サンプルとしてjavascriptを記述して頂けると助かるのですが、、
御回答本当にありがとうございます!
試してみたのですが、ラジオボタンを選択しても表示が切り変わりません。
どうしたらよいか教えて頂けると助かります!