現在、ラジオボタンとチェックボックスを使用して、JavaScriptを使用して画像を表示しています。具体的には、チェックボックスをオンにして画像を表示する際に問題が発生しています。ラジオボタンを使用すると、そのカテゴリの画像が1つだけ表示されます。しかし、チェックボックスを使用すると、複数の画像を表示する必要があります。例えば、ユーザはジャケットと手袋のフィールドをチェックすることができ、両方の画像が表示される。Javascript:チェックボックスの値で画像を表示
チェックボックスをクリックしたときに複数の画像を表示するにはどうすれば機能をフォーマットできますか?
JS
<script language="JavaScript" type="text/javascript">
function check_value(val, id, type) {
var el = document.getElementById("imgBox" + id);
if (val>0 && val<4) { //will trigger when [1,2,3]
el.src = "images/"+ type + val + ".jpg";
el.style.display = "";
}
}
</script>
HTML
<h2>Choose a bike</h2>
<form name="builder">
<input type="radio" name="field" value="1" onclick='check_value(1, 1, "bike")'/> KAWASAKI KX 450F<br />
<input type="radio" name="field" value="2" onclick='check_value(2, 1, "bike")'/> 2010 Yamaha Road Star S<br />
<input type="radio" name="field" value="3" onclick='check_value(3, 1, "bike")'/> Aprilia RSV4<br />
</form>
<img id="imgBox1" src="#" style="display:none">
<h2>Choose a tire</h2>
<form name="tire">
<input type="radio" name="field" value="1" onclick='check_value(1, 2, "tire")'/> Michelin Pilot Road 3 Tires<br />
<input type="radio" name="field" value="2" onclick='check_value(2, 2, "tire")'/> Dunlop Roadsmart Sport-Touring Tires<br />
<input type="radio" name="field" value="3" onclick='check_value(3, 2, "tire")'/> Pirelli Scorpion Trail Tires<br />
</form>
<img id="imgBox2" src="#" style="display:none">
<h2>Choose Accesories</h2>
<form name="tire">
<input type="checkbox" name="field" value="1" onclick='check_value(1, 3, "accesories")'/> Chrome Front Plate<br />
<input type="checkbox" name="field" value="2" onclick='check_value(2, 3, "accesories")'/> Jacket<br />
<input type="checkbox" name="field" value="3" onclick='check_value(3, 3, "accesories")'/> Gloves
</form>
<img id="imgBox3" src="#" style="display:none">
あなたはフィドルを設定できますか? –
'label'要素を使って' for'属性を使って同じ 'id'で入力に関連付けるべきです。関連する[WCAG 2.0 H44 Technique](http://www.w3.org/TR/WCAG-TECHS/H44)を参照してください。ユーザーは、小さなチェックボックスやラジオよりも簡単にラベルで作成された広い領域をクリックすることができます(これ以上はアクセスできなくなります)。 – FelipeAls