###前提・実現したいこと
以下のようなことを実現したいのですが、どのように書けば良いのかわかりません。
例:
selectで「A店」を選択時に、「りんご」と「いちご」に対して何らかの処理を加えたい。
selectで「C店」を選択時に、「チョコ」と「とうふ」に対して(以下略)
selectで「D店」を選択時に、「いちご」と「りんご」に対して(以下略)
###該当のソースコード
html
1<!--ショップ名--> 2<select name="select01" id="select01"> 3 <option value="0">A店</option> 4 <option value="1">B店</option> 5 <option value="2">C店</option> 6 <option value="3">D店</option> 7</select> 8 9<!--商品名--> 10<div id="section01"> 11 <p>りんご</p> 12 <p>バナナ</p> 13 <p>いちご</p> 14 <p>パイン</p> 15 <p>ざくろ</p> 16 <p>チョコ</p> 17 <p>とうふ</p> 18</div>
###現状のソースコード
※以下のソースコードは未完成のものです。
以下の通りでなくとも構いませんが、
できればJSに詳しくない方でも編集できるような仕組みにしたいと思っています。
たとえばですが、現在itemsに「いちご」「ざくろ」「とうふ」とありますが、これらを「いちご(A店・C店)」「ざくろ(B店)」「とうふ(A店・D店)」といったようなものでif文の判定できればと思っています。
javascript
1//商品名を入力(この箇所はJSに詳しくない方でも編集できるようにしたい) 2var itemSelecter = { 3 init: function(){ 4 var items = 5 'いちご|ざくろ|とうふ'; 6 return items; 7 }, 8}; 9 10//セレクトを変更した時の処理 11var outOfStock = { 12 selector: '#section01 p', 13 init: function(){ 14 var $element = $(this.selector); 15 $($element).each(function () { 16 var $this = $(this); 17 var itemName = $this.text(); 18 //select変更時の処理 19 $('#select01').change(function() { 20 var selectTxt = $('#select01 option:selected').text(); 21 22 if (itemName.match(itemSelecter.init())) { 23 console.log('なんらかの処理'); 24 } 25 }); 26 27 }); 28 }, 29}; 30outOfStock.init();
以上、何卒よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/22 07:40
2017/11/22 07:49
退会済みユーザー
2017/11/22 09:54
2017/11/22 10:45 編集
退会済みユーザー
2017/11/24 07:05