前提・実現したいこと
前提として、現在はCanvas内での画像切り替えをラジオボタンで行っており、
正常に動作させることはできています。
実現したいこととしては、画像切り替えをラジオボタンではなくセレクトボックスで行いたいです。
発生している問題・エラーメッセージ
問題としては、セレクトボックスの中身を変えても画像自体表示されず、切り替えも行えていない状況です。
該当のソースコード
変更前(ラジオボタン)
HTML
1<form name="select"> 2 <input id="btn1" value="btn1" name="stamp" type=radio onclick=loadImage(1)> 3 <label for="btn1">A</label> 4 <input id="btn2" value="btn2" name="stamp" type=radio onclick=loadImage(2)> 5 <label for="btn2">B</label> 6 <input id="btn3" value="btn3" name="stamp" type=radio onclick=loadImage(3)> 7 <label for="btn3">C</label> 8 <input id="btn4" value="btn4" name="stamp" type=radio onclick=loadImage(4)> 9 <label for="btn4">D</label> 10</form>
変更後(セレクトボックス)
HTML
1<form name="select"> 2 <select name="stamp"> 3 <option id="btn1" value="btn1" onchange=loadImage(1)>A</option> 4 <option id="btn2" value="btn2" onchange=loadImage(2)>B</option> 5 <option id="btn3" value="btn3" onchange=loadImage(3)>C</option> 6 <option id="btn4" value="btn4" onchange=loadImage(4)>D</option> 7 </select> 8</form>
JavaScript
1function loadImage(img) { 2 var img = img - 1; 3 var img2 = ['画像1','画像2','画像3','画像4']; 4 var canvas = document.getElementById('preview'); 5 var ctx = canvas.getContext('2d'); 6 var image = new Image(); 7 image.src = img2[img]; 8 image.onload = function(){ 9 canvas.width = image.width; 10 canvas.height = image.height; 11 ctx.drawImage(image, 0, 0); 12 } 13}
試したこと
JavaScriptを使用したセレクトボックスの動きなどを様々なサイトで調べ参考にしました。
補足情報(FW/ツールのバージョンなど)
画像自体の表示も上手くいかず悩んでいる状態です。
また、onchangeでの画像切り替えは正しいのでしょうか?
この問題についてわかる方がいましたらご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/26 01:25