• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptで質問です。)

Javascriptでセレクトボックスを使って画像を出力するコードについての質問

このQ&Aのポイント
  • 初期に指定の画像が表示されるようにするための Javascript コードについて質問です。
  • セレクトボックスで選択された年と月に基づいて、該当する画像を表示するコードについて教えてください。
  • 指定された年月に関連する画像が初期表示されるようにしたいです。具体的なコードのサンプルを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • retorofan
  • ベストアンサー率34% (435/1276)
回答No.1

ご希望としては、次のとおりですね。 「年」「月」画像1(2023−1.jpg)、画像2(2023−1-2.jpg)、画像3(2023−1-3.jpg)が初期画面で出るようにしたい そのサンプルコードをお示しする前に2点の確認を。 第一点 「年」「月」2つのセレクトボックスで済むのにもう一個は     どういう用途か回答者には伝わらない 第二点  IDの付け方の誤り      ページ内において、      IDはユニーク(唯一)でなければならない(大原則) 例えば、以下は同じIDが2か所に付けられています。 <!-- 画像1 --> <div id="ha1" class="subbox3"><img src="2023−1.jpg" width="130" height="37" alt=""/></div> ・・・・・・・ <!-- 画像2 --> <div id="ha1" class="subbox3"><img src="2023−1-2.jpg" width="130" height="37" alt=""/></div> 画像ファイルはクラス「subbox3」でグループ化されているため、 それでアクセスできるので、IDは不要です。 先ほど追加したコードと下記のコードを差し替えて、お試しください。 【サンプルコード】 <script> //------------------------------------------------------------------------------ // 初期画面の表示内容 //「年」「月」画像1(2023−1.jpg)、画像2(2023−1-2.jpg)、画像3(2023−1-3.jpg) //------------------------------------------------------------------------------ window.addEventListener('DOMContentLoaded', ()=>{ // 追加 2023-04-21 22:40 //---------------------------------------------------------- const cate = document.getElementById("cate"); const ha = document.getElementById("ha"); const subbox3 = document.querySelectorAll(".subbox3"); ha.style.display =""; cate.options[0].selected = true; ha.options[0].selected = true; [...subbox3].forEach(function(elem, index){ if (index % 6 == 0){ elem.style.display="inline-block"; //横並び //elem.style.display="block"; //縦並び } }); //---------------------------------------------------------- }); 以上

kotaro_ok
質問者

お礼

今回もどうもありがとうございました! 出力する画像が増えてくれば、 if (index % 6 == 0){ の6の数字を変化させていけばいいのですね。 助かりました。

関連するQ&A