前提・実現したいこと
htmlとjavascliptを使って以下のタグを使い、ドロップダウンメニューの選択を変えると同時に画像も変わるようにしたいです。
一つのページに複数設置したいので下記のようなソースにしたのですが、そうすると下側にある画像しか動作しません。
どこが悪いのでしょうか…
アドバイスをもらえると嬉しいです。
どうかよろしくお願いします。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5<meta charset="UTF-8"> 6<meta name="viewport" content="width=device-width, initial-scale=1.0"> 7<title>test</title> 8</head> 9 10<body> 11<FORM> 12<!--画像を配置--> 13<P><IMG src="18img/red.png" width="120" height="120" id="program1" alt=""></p> 14<!--ドロップダウンメニューが変更されたら関数へ値を渡す--> 15<P><SELECT name="channel" size="1" onchange="imgChange(this)"> 16<OPTION value="0">レッド 17<OPTION value="1">オレンジ 18<OPTION value="2">グリーン 19<OPTION value="3">ブルー 20<OPTION value="4">グレー 21</SELECT></P> 22<!--画像を配置--> 23<P><IMG src="18img/red.png" width="120" height="120" id="program2" alt=""></p> 24<!--ドロップダウンメニューが変更されたら関数へ値を渡す--> 25<P><SELECT name="channel" size="1" onchange="imgChange(this)"> 26<OPTION value="0">レッド 27<OPTION value="1">オレンジ 28<OPTION value="2">グリーン 29<OPTION value="3">ブルー 30<OPTION value="4">グレー 31</SELECT></P> 32</FORM> 33<script> 34function imgChange(parts) { 35/*選択されているメニューを変数へ格納*/ 36fname = parts.options[parts.selectedIndex].value; 37/*選択された画像のパスを送る*/ 38if (fname == 0) program1.src = "18img/red.png"; 39if (fname == 1) program1.src = "18img/orange.png" 40if (fname == 2) iprogram1.src = "18img/green.png" 41if (fname == 3) program1.src = "18img/blue.png" 42if (fname == 4) program1.src = "18img/glay.png" 43} 44function imgChange(parts) { 45/*選択されているメニューを変数へ格納*/ 46fname = parts.options[parts.selectedIndex].value; 47/*選択された画像のパスを送る*/ 48if (fname == 0) program2.src = "18img/red.png"; 49if (fname == 1) program2.src = "18img/orange.png" 50if (fname == 2) program2.src = "18img/green.png" 51if (fname == 3) program2.src = "18img/blue.png" 52if (fname == 4) program2.src = "18img/glay.png" 53} 54</script> 55</body> 56 57</html>
試したこと
img要素のidとscript内のifを一致させた。
補足情報
どうかよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。