条件のselectを変更すると、
結果も合わせて変化するjQueryが作りたいです。
現在のコードです。
html
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title></title> 6 <link rel="stylesheet" href="/test/style.css"> 7 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 8 <script type="text/javascript" src="/test/test.js"></script> 9</head> 10 11<body> 12 <table id="sctTbl"> 13 <tr> 14 <td>¥</td> 15 <td id="rslBox"></td></tr> 16 <tr> 17 <td>動物</td> 18 <td> 19 <select name="kindAmimal" id="kindAmimal"> 20 <option value='ウサギ'>ウサギ</option> 21 <option value='イヌ'>イヌ</option> 22 <option value='ネコ'>ネコ</option> 23 <option value='トリ'>トリ</option> 24 </select></td></tr> 25 <tr> 26 <td>色</td> 27 <td> 28 <select name="kindColor" id="kindColor"> 29 <option value='赤'>赤</option> 30 <option value='青'>青</option> 31 <option value='黒'>黒</option> 32 <option value='緑'>緑</option> 33 </select></td></tr> 34 <tr> 35 <td>向き</td> 36 <td> 37 <select name="kindDirect" id="kindDirect"> 38 <option value='右向き'>右向き</option> 39 <option value='左向き'>左向き</option> 40 <option value='後向き'>後向き</option> 41 </select></td></tr> 42 </table> 43 44</body> 45</html>
javascript
1$(function() { 2 var kindAmimal = ''; 3 var kindColor = ''; 4 var kindDirect = ''; 5 6 $('select#kindAmimal,select#kindColor,select#kindDirect').change(function(){ 7 kindAmimal = $(this).val(); 8 9 if(kindAmimal == 'ウサギ'){ 10 if(kindColor == '赤'){ 11 $('#rslBox').html('<img src="/image/rabitRed.png">'); 12 } else if(kindColor == '青'){ 13 $('#rslBox').html('<img src="/image/rabitBlue.png">'); 14 } 15 } else if(kindAmimal == 'イヌ') { 16 $('#rslBox').html('<img src="/image/dogRed.png">'); 17 } else if(kindAmimal == 'ネコ') { 18 $('#rslBox').html('<img src="/image/catRed.png">'); 19 } else if(kindAmimal == 'トリ') { 20 $('#rslBox').html('<img src="/image/birdRed.png">'); 21 } 22 }) 23});
jQueryコードは.changeが発火しないため途中までしか書いていません。
やりたい事。
htmlの「select name="kindAmimal"」「select name="kindColor"」「select name="kindDirect"」をそれぞれ変更させると
選択されているselectの値を取得し、if文で選択した内容に沿った画像を出力したいです。
※画像はそれぞれ用意してあります。
「select name="kindDirect"」「select name="kindColor"」「select name="kindDirect"」3つの条件を選択した後、
「表示」などのボタンを押すことなく、selectを変更させるだけで画像を変化させたいです。
また可能な限りif文を短く、回数を減らせたら嬉しいです。
まずは.changeが発火しないため動作テストも出来ず困っております。
ご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー