前提・実現したいこと
セレクトボックスで数を選択し、その合計数によって、
表示される送料を変えたいです。
1〜10枚までは850円
11〜15枚までは1000円
16枚〜1200円
発生している問題・エラーメッセージ
if文の書き方が悪いのか、書く場所が悪いのか分からず、
選択をしても送料の表示が変わりません。
該当のソースコード
html
1<label class="color"><input type="checkbox" name="color" value="color">赤</label> 2 <select class="parent" name="size"> 3 <option value="" class="msg" selected>サイズを選択</option> 4 <option value="S">S:600円</option> 5 <option value="L">L:900円</option> 6 </select> 7 <select class="children" name="number"> 8 <option value="0" class="msg" selected>0</option> 9 <option value="1">1</option> 10 <option value="2">2</option> 11 <option value="3">3</option> 12 <option value="4">4</option> 13 </select><br> 14<label class="color"><input type="checkbox" name="color" value="color">青</label> 15 <select class="parent" name="size"> 16 <option value="" class="msg" selected>サイズを選択</option> 17 <option value="S">S:600円</option> 18 <option value="L">L:900円</option> 19 </select> 20 <select class="children" name="number"> 21 <option value="0" class="msg" selected>0</option> 22 <option value="1">1</option> 23 <option value="2">2</option> 24 <option value="3">3</option> 25 <option value="4">4</option> 26 </select><br> 27<label class="color"><input type="checkbox" name="color" value="color">黄</label> 28 <select class="parent" name="size"> 29 <option value="" class="msg" selected>サイズを選択</option> 30 <option value="S">S:600円</option> 31 <option value="L">L:900円</option> 32 </select> 33 <select class="children" name="number"> 34 <option value="0" class="msg" selected>0</option> 35 <option value="1">1</option> 36 <option value="2">2</option> 37 <option value="3">3</option> 38 <option value="4">4</option> 39 </select><br> 40<label class="color"><input type="checkbox" name="color" value="color">緑</label> 41 <select class="parent" name="size"> 42 <option value="" class="msg" selected>サイズを選択</option> 43 <option value="S">S:600円</option> 44 <option value="L">L:900円</option> 45 </select> 46 <select class="children" name="number"> 47 <option value="0" class="msg" selected>0</option> 48 <option value="1">1</option> 49 <option value="2">2</option> 50 <option value="3">3</option> 51 <option value="4">4</option> 52 </select><br> 53<label class="color"><input type="checkbox" name="color" value="color">紫</label> 54 <select class="parent" name="size"> 55 <option value="" class="msg" selected>サイズを選択</option> 56 <option value="S">S:600円</option> 57 <option value="L">L:900円</option> 58 </select> 59 <select class="children" name="number"> 60 <option value="0" class="msg" selected>0</option> 61 <option value="1">1</option> 62 <option value="2">2</option> 63 <option value="3">3</option> 64 <option value="4">4</option> 65 </select><br> 66以下続きます。。。
js
1$(function(){ 2 $('[name=color]').on('change',function(){ 3 $(this).closest('label').nextAll('.parent:eq(0),.children:eq(0)').prop('disabled',!$(this).prop('checked')); 4 }).trigger('change'); 5 $(':checkbox,select').on('change click',function(){ 6 var p_s=600; 7 var p_l=900; 8 var n_s=0; 9 var n_l=0; 10 if(1<= (n_s+n_l) <= 10) { 11 var souryo = 850; 12 } else if(11<= (n_s+n_l) <= 15){ 13 var souryo = 1000; 14 } else if(16<= (n_s+n_l) <= 40){ 15 var souryo = 1200; 16 } 17 18 $('.parent:not(:disabled):not(:has(option[value=""]:selected))').each(function(){ 19 if($(this).val()=="S") n_s+=parseInt($(this).next('.children').val()); 20 if($(this).val()=="L") n_l+=parseInt($(this).next('.children').val()); 21 }); 22 $('.s.maisu').text(n_s); 23 $('.l.maisu').text(n_l); 24 $('.souryo').text(souryo); 25 $('.s.kingaku').text(n_s*p_s); 26 $('.l.kingaku').text(n_l*p_l); 27 $('.all.kingaku').text(n_s*p_s+n_l*p_l+((n_s>0||n_l>0)?souryo:0)); 28 }).eq(0).trigger('change'); 29});
試したこと
条件を2つにしても変化はありませんでした。
js
1if(1<= (n_s+n_l) <= 10) { 2 var souryo = 850; 3 } else { 4 var souryo = 1000; 5 }
補足情報
すみませんが、どなたかお力をお貸し頂けますと幸いにございます。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー