selectが男だったら
<div id="man"> <input type="checkbox" class="c">サッカー <input type="checkbox" class="c">フットサル<br> を表示させたいんですが上手く行きません。 どうすればいいでしょうか? 本当に初歩的な知識しかないんですがなんとかなりませんか? 素のjavascriptです 足りない情報は補足しますjavascript
1function sexChecker() { 2 var selectedNumber = document.form1.select1.selectedIndex; 3 var selectedValue = document.form1.select1.options[selectedNumber].value; 4 if (selectedValue == "man") { 5 document.getElementById("man").style.display = "inline-block"; 6 document.getElementById("woman").style.display = "none"; 7 } else if (selectedValue == "woman") { 8 document.getElementById("woman").style.display = "inline-block"; 9 document.getElementById("man").style.display = "none"; 10 } 11}
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <title>Hello world!</title> 5 <script type="text/javascript" src="H:\html\exam_3.js"></script> 6 <link rel="stylesheet" type="text/css" href="H:\html\exam_3.css"> 7 </head> 8 <body> 9 <div class="wrapper"> 10 <h1>個人情報</h1> 11 <form name="form1"> 12 <p class="a">姓(漢字):</p><input type="text" class="a"><p class="a">名(漢字):</p><input type="text" class="a"><br> 13 <p class="b">姓カナ:</p><input type="text" class="b"><p class="b">名カナ:</p><input type="text" class="b"><p class="b">性別:</p> 14 <select name="select1" onChange="sexChecker();"> 15 <option value="none"></option> 16 <option value="man">男</option> 17 <option value="woman">女</option> 18 </select><br> 19 <p class="c">趣味:</p> 20 <div id="man"> 21 <input type="checkbox" class="c">サッカー 22 <input type="checkbox" class="c">フットサル<br> 23 </div> 24 <div id="woman"> 25 <input type="checkbox" class="c">ダンス 26 <input type="checkbox" class="c">旅行 27 <input type="checkbox" class="c">撮影<br> 28 </div> 29 <input type="reset" value="リセット" class="d"> 30 <input type="button" value="決定" class="d"> 31 </form> 32 </div> 33 </body> 34</html>
css
1.a, .b, .c, .d{ 2 display: inline-block; 3} 4 5.wrapper { 6 height: 100%; 7 width: 80%; 8} 9 10#man { 11 display: none; 12} 13 14#woman { 15 display: none; 16}
質問編集画面タイトル横にある「初心者アイコン」をご活用ください。「初心者」と質問で書くよりも伝わりますし、質問一覧に表示されるのでわかりやすくなります。
最初はそんなものです。ただ、質問の「要件」とは関係ない部分です。この一文は不要です。 >本当に初歩的な知識しかないんですがなんとかなりませんか?
</select にonclickつけたのはどのような意図があってのことでしょうか。コピペのような自身がきちんと組んだものでなければ出展を記載してください。
自分で考えました。それはセレクトが例えば男になったら、みたいな意味です。もしかしてonchengeですか?一旦変えてい¥見ますね。
> </select onclick="sexChecker();"> 閉じタグにつけるものではないと思います。
本当ですね!onchenge()にしてかつ位置も直しましたがまだ動かないようです。
onchenge → onchange デフォルトで用意されている機能名についてはちゃんと調べてください。
本当ですね!直しました
あと「動きません」「うまくいきません」では起きている現象が伝わりません。ブラウザ開発ツールのコンソールでエラーが出ていないか、など起きている現象を具体的に書いてください。CSSのパス、それ合ってるんでしょうか。実際はWebサーバーで動くものなのであまりWindowsのパスをそのまま書くのは好ましくありません。
そろそろ最初の指摘についても対応していただけると・・ >足りない情報は補足します
忘れてました。webページのF12キーでデバッグ画面が開けたので見てみるとバグの原因がわかりました。そもそもjsが読み込まれてなかったし変なスペースがあったり全角の"があったり。とりあえず解決したようですありがとうございました!また質問があったら別で質問すると思います
質問内容を充実させることで解決が早まります。そこを忘れていては解決する気がないと捉えられても仕方がありません。回答に必要だからこうやって指摘しています。 またその部分は私が回答で指摘している部分です。お作法を守っていないことに他なりません。
ひとつ前の質問にも言えることですね。 anAnonymousさんは質問するときのお作法も守れているとは言えません。説明書はきちんと読んでから取り扱うものです。https://teratail.com/help/question-tips
まだ質問が「受付中」になっていますが、どのように解決したのかを回答文に書き、「解決済」にされてはいかがでしょうか。