セレクトボックスで表示を切り替える
2022年12月15日
みなさんこんにちは。
ケミストのWeb担当みやのです。
「Web」記事では、これまでに得たWebに関する知識を記録として残していきたいと思います。
今回は、セレクトボックスの選択結果に応じて表示される内容が変わるページを作ってみようと思います。
参考:電脳職人村|jQuery:セレクトボックスで写真の表示を切り替える
セレクトボックスを準備する
前回作ったセレクトボックス④を使ってみます。
それぞれのoptionに固有のvalue属性を設定しておきます。
<div class="select4">
<select id="select4" class="sl4" required>
<option value="honoo">炎の呼吸</option>
<option value="mizu">水の呼吸</option>
<option value="kaze">風の呼吸</option>
<option value="iwa">岩の呼吸</option>
<option value="kaminari">雷の呼吸</option>
</select>
<span class="sl4_highlight"></span> <span class="sl4_selectbar"></span>
<label class="sl4_selectlabel">選択してください</label>
</div>
表示する内容を用意する
参考にしたサイトでは<ul>と<li>を使っていましたが、うちのサイトでは<ul>と<li>をサイドメニューで使ってしまっているので<dl>と<dt>にしてみました。
<dl>
<dt></dt>
<dt></dt>
・
・
・
<dt></dt>
</dl>
<dt>と</dt>の中に表示する内容を記述します。
<dt>のIDを、対応するoptionのvalueと同じ値にしておきます。
<dl>
<dt id="honoo">壱の型 不知火</dt>
<dt id="mizu">壱の型 水面斬り</dt>
・
・
・
<dt id="kaminari">壱の型 霹靂一閃</dt>
</dl>
このままだとページ読み込み時にすべての項目が表示されてしまっているので、ダミーのdtを1番目に追加し、cssで1番目以外を非表示にします。1番目は「表示されているけど見えない」という状態です。
<dl>
<dt id="kimetsu" style="visibility: hidden">ダミー</dt>
<dt id="honoo">壱の型 不知火</dt>
<dt id="mizu">壱の型 水面斬り</dt>
・
・
・
<dt id="kaminari">壱の型 霹靂一閃</dt>
</dl>
dl dt:nth-of-type(n+2) {
display: none;
}
JavaScriptを書く
以下のスクリプトを記述します。
$(function() {
$('#select4').change(function() {
var val = $(this).val();
var selectId = '#' + val;
$('dl dt').hide();
$(selectId).show();
});
});
選択したoptionのvalueを取得→IDに変換→すべてのdtとdlを非表示にする→選択したIDだけを表示、というしくみだそうです。勉強になりました。
-
- 炎の呼吸
- 壱ノ型
不知火 - 弐ノ型
昇 り炎天 - 参ノ型
気炎万象 - 肆ノ型
盛炎 のうねり - 伍ノ型
炎虎 - 玖ノ型
煉獄
-
- 炎の呼吸
- 壱ノ型
不知火 - 弐ノ型
昇 り炎天 - 参ノ型
気炎万象 - 肆ノ型
盛炎 のうねり - 伍ノ型
炎虎 - 玖ノ型
煉獄
-
- 恋の呼吸
- 壱ノ型
初恋 のわななき - 弐ノ型
懊悩巡 る恋 - 参ノ型
恋猫 しぐれ - 伍ノ型
揺 らめく恋情 ・乱 れ爪 - 陸ノ型
猫足恋風
-
- 水の呼吸
- 壱ノ型
水面斬 り - 弐ノ型
水車 - 参ノ型
流流舞 い - 肆ノ型
打 ち潮 - 伍ノ型
干天 の慈雨 - 陸ノ型
ねじれ
渦 - 漆ノ型
雫波紋突 き - 捌ノ型
滝壷 - 玖ノ型
水流飛沫 ・乱 - 拾ノ型
生生流転 - 拾壱ノ型
凪
-
- 蛇の呼吸
- 壱ノ型
委蛇斬 り - 弐ノ型
狭頭 の毒牙 - 参ノ型
塒締 め - 肆ノ型
頸蛇双生 - 伍ノ型
蜿蜿長蛇
-
- 花の呼吸
- 弐ノ型
御影梅 - 肆ノ型
紅花衣 - 伍ノ型
徒 の芍薬 - 陸ノ型
渦桃 - 終ノ型
彼岸朱眼
-
- 蟲の呼吸
-
蝶 の舞い戯 れ -
蜂牙 の舞い真靡 き -
蜻蛉 の舞い複眼六角 -
蜈蚣 の舞い百足蛇腹
-
- 風の呼吸
- 壱ノ型
塵旋風 ・削 ぎ - 弐ノ型
爪々 ・科戸風 - 参ノ型
晴嵐風樹 - 肆ノ型
昇上砂塵嵐 - 伍ノ型
木枯 らし颪 - 陸ノ型
黒風烟嵐 - 漆ノ型
頸風 ・天狗風 - 捌ノ型
初烈風斬 り - 玖の型
韋駄天台風
-
- 霞の呼吸
- 壱ノ型
垂天遠霞 - 弐ノ型
八重霞 - 参ノ型
霞散 の飛沫 - 肆ノ型
移流斬 り - 伍ノ型
霞雲 の海 - 陸ノ型
月 の霞消 - 漆ノ型
朧
-
- 獣の呼吸
- 壱ノ牙
穿 ち抜 き - 弐ノ牙
切 り裂 き - 参ノ牙
喰 い裂 き - 肆ノ牙
切細裂 き - 伍ノ牙
狂 い裂 き - 陸ノ牙
乱杭咬 み - 漆ノ型
空間識覚 - 捌ノ型
爆裂猛進 - 玖ノ牙
伸 ・うねり裂 き - 拾ノ牙
円転旋牙 - 思い付きの
投 げ裂 き
-
- 岩の呼吸
- 壱ノ型
蛇紋岩 ・双極 - 弐ノ型
天面砕 き - 参ノ型
岩軀 の膚 - 肆ノ型
流紋岩 ・速征 - 伍ノ型
瓦輪刑部
-
- 雷の呼吸
- 壱ノ型
霹靂一閃 - 弐ノ型
稲魂 - 参ノ型
聚蚊成雷 - 肆ノ型
遠雷 - 伍ノ型
熱界雷 - 陸ノ型
電轟雷轟 - 漆ノ型
火雷神
-
- 音の呼吸
- 壱ノ型
轟 - 肆ノ型
響斬無間 - 伍ノ型
鳴弦奏々
-
- 日の呼吸
- 壱ノ型
円舞 - 弐ノ型
碧羅 の天 - 参ノ型
烈日紅鏡 - 肆ノ型
灼骨炎陽 - 伍ノ型
陽華突 - 陸ノ型
日暈 の龍 ・頭舞 い - 漆ノ型
斜陽転身 - 捌ノ型
飛輪陽炎 - 玖ノ型
輝輝恩光 - 拾ノ型
火車 - 拾壱ノ型
幻日虹 - 拾弐ノ型
炎舞 - 拾参ノ型
-
- 月の呼吸
- 壱ノ型
闇月 ・宵 の宮 - 弐ノ型
珠華 ノ弄月 - 参ノ型
厭忌月 ・銷 り - 伍ノ型
月魄災禍 - 陸ノ型
常世孤月 ・無間 - 漆ノ型
厄鏡 ・月映 え - 捌ノ型
月龍輪尾 - 玖ノ型
降 り月 ・連面 - 拾ノ型
穿面斬 ・蘿月 - 拾肆ノ型
兇変 ・天満繊月 - 拾陸ノ型
月虹 ・片割 れ月
まとめ
あれ?波紋の呼吸は?
特定のクラスを持つ要素だけを非表示→選択されたIDだけを表示、という風にしたいです。