こちらで初めて質問させていただきます。
JavaScriptが完全初心者で、下記についてご教示いただきたいです。
下記、連動のセレクトボックスなのですが、
二つ目のセレクトボックスで選択した内容によって表示が
切り替えられるようにしたいのですが、今、ソースが足りずうまくいっていません。
どのように書き足せば良いか、教えていただけないでしょうか。
例えば、「キャベツ」を選択すれば、「キャベツを選択しました」と
表示されるようにしたいです。
何卒、どうぞよろしくお願いいたします。
ソースです。
<form>
<div class="pulldownset vegetable">
<select id="cate" class="subbox" >
<option value="">種類を選択</option>
<option value="ha">葉菜類</option>
<option value="ne">根菜類</option>
<option value="ka">果菜類</option>
</select>
<select id="ha" class="subbox2">
<option value="">葉菜類を選択</option>
<option value="ha1">キャベツ</option>
<option value="ha2">ほうれん草</option>
<option value="ha3">レタス</option>
</select>
<select id="ne" class="subbox2">
<option value="">根菜類を選択</option>
<option value="ne1">大根</option>
<option value="ne2">にんじん</option>
<option value="ne3">ゴボウ</option>
</select>
<select id="ka" class="subbox2">
<option value="">果菜類を選択</option>
<option value="ka1">キュウリ</option>
<option value="ka2">カボチャ</option>
<option value="ka3">トマト</option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4 …
</div>
</form>
<div id="ha1" class="subbox2">キャベツを選択しました</div>
<div id="ha2" class="subbox2">ほうれん草を選択しました</div>
<div id="ha3" class="subbox2">レタスを選択しました</div>
<div id="ne1" class="subbox2">大根を選択しました</div>
<div id="ne2" class="subbox2">にんじんを選択しました</div>
<div id="ne3" class="subbox2">ゴボウを選択しました</div>
<div id="ka1" class="subbox2">キュウリを選択しました</div>
<div id="ka2" class="subbox2">カボチャを選択しました</div>
<div id="ka3" class="subbox2">トマトを選択しました</div>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
var dispSubBox = function(subId) {
[...document.querySelectorAll(".subbox2")].forEach(function(elm){
elm.style.display = elm.id===subId ? "inline": "none"
});
}
dispSubBox();
document.getElementById("cate").addEventListener("change", function(event){
var elm = event.target;
dispSubBox( elm.value );
});
});
</script>
<style>
div { width:300px; display:block; }
</style>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
一応こんな感じで・・・subbox2と3にわけました
<form>
<div class="pulldownset vegetable">
<select id="cate" class="subbox" >
<option value="">種類を選択</option>
<option value="ha">葉菜類</option>
<option value="ne">根菜類</option>
<option value="ka">果菜類</option>
</select>
<select id="ha" class="subbox2">
<option value="">葉菜類を選択</option>
<option value="ha1">キャベツ</option>
<option value="ha2">ほうれん草</option>
<option value="ha3">レタス</option>
</select>
<select id="ne" class="subbox2">
<option value="">根菜類を選択</option>
<option value="ne1">大根</option>
<option value="ne2">にんじん</option>
<option value="ne3">ゴボウ</option>
</select>
<select id="ka" class="subbox2">
<option value="">果菜類を選択</option>
<option value="ka1">キュウリ</option>
<option value="ka2">カボチャ</option>
<option value="ka3">トマト</option>
</select>
</div>
</form>
<div id="ha1" class="subbox3">キャベツを選択しました</div>
<div id="ha2" class="subbox3">ほうれん草を選択しました</div>
<div id="ha3" class="subbox3">レタスを選択しました</div>
<div id="ne1" class="subbox3">大根を選択しました</div>
<div id="ne2" class="subbox3">にんじんを選択しました</div>
<div id="ne3" class="subbox3">ゴボウを選択しました</div>
<div id="ka1" class="subbox3">キュウリを選択しました</div>
<div id="ka2" class="subbox3">カボチャを選択しました</div>
<div id="ka3" class="subbox3">トマトを選択しました</div>
<script>
window.addEventListener('DOMContentLoaded', ()=>{
document.querySelectorAll(".subbox2,.subbox3").forEach(x=>{
x.style.display ="none";
});
document.querySelector("#cate").addEventListener('change',e=>{
document.querySelectorAll(".subbox2").forEach(x=>{
x.value="";
x.style.display =x.getAttribute("id")===e.target.value?"inline":"none";
});
document.querySelectorAll(".subbox3").forEach(x=>{
x.style.display ="none";
});
});
document.querySelectorAll(".subbox2").forEach(x=>{
x.addEventListener('change',e=>{
document.querySelectorAll(".subbox3").forEach(y=>{
y.style.display =y.getAttribute("id")===e.target.value?"inline":"none";
});
});
});
});
</script>
<style>
div { width:300px; display:block; }
</style>
ありがとうございます!!!仕事で修正があり、javascriptに詳しくなくて、いろんなサイトを見てもうまくいかず、途方にくれていました。このソースを元に、修正作業をしてみます。本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
タイムマシーンがあったら、過去と未来どちらに行く?
20XX年、ついにタイムマシーンが開発されました。 あなたは過去に行く? それとも未来? タイムマシーンにのって、どこに行って、何をしたいか教えてください!
-
2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
今日の日付を自動的にセレクト...
-
javascriptでセレクトボックス...
-
同じ名前のセレクトがある場合...
-
ラジオボタンの選択に応じてプ...
-
Selectボックスの一覧表示方法
-
<select> をmultiple にしてい...
-
<input>の選択肢をプルダウンメ...
-
セレクトメニューで計算
-
時間の選択に関して
-
プルダウンで選択したCGIを動か...
-
まったく同じ<select>フォーム...
-
selectを変更不可にしたい
-
スマホのフォームでのselect複...
-
後から追加した行(入力フォー...
-
セレクトメニューで選択不可に...
-
ラジオボタンの値が取得できな...
-
二つのセレクトボックス間での...
-
selectのすべての値を送信する方法
-
return trueとreturn falseの用...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
<input>の選択肢をプルダウンメ...
-
selectを変更不可にしたい
-
全てのselect要素をデフォルト...
-
JavaScriptで<select>の<option...
-
select要素のvalueを配列で取得...
-
【javascript】連想配列からセ...
-
複数のプルダウンを1つにまとめ...
-
VBScriptでHTMLのセレクトボッ...
-
ラジオボタンとプルダウンを連...
-
<select> をmultiple にしてい...
-
同じ名前のセレクトがある場合...
-
webページの一部のみの更新につ...
-
javascript:データを日本語で...
-
スマホのフォームでのselect複...
-
ラジオボタンの選択に応じてプ...
-
プルダウンの値によって活性・...
-
selectが変更されたらnameを指...
おすすめ情報