前回同様の質問をし、回答を頂き、ソースを調べるなどして理解したのですが
動く形になるまで持っていくことができませんので、再度質問させていただきます。
入力エリアに個数を入れると
「選択されたカードの値段×個数」の合計金額が
瞬時に表示されるようにしたいのですが、
どのようにすればよいでしょうか?
.priceの値段テキストから
値段のみを抜き出し、個数と掛け合わせています。
html
1 2<div class="wrapper"> 3 <div class="content"> 4 <form action=""> 5 <div class="price-info"> 6 <div class="price-txt">合計<span class="red"><span class="price-chg" id="price-chg">0</span>円</span>(税込) 7 </div> 8 </div> 9 <div><input id="sum_quantity" type="text" value="" name="sum_number" placeholder="0"></div> 10 <div class="select-item"> 11 <ul class="item-list item-calc"> 12 <li> 13 <input type="checkbox" class="select-checkdox" id="select-checkdox-01" name="select-checkdox"> 14 <label for="select-checkdox-01" class="item-info"> 15 <div class="check-img"></div> 16 <div class="ttl">カード1</div> 17 <div class="price">100円</div> 18 </label> 19 </li> 20 <li> 21 <input type="checkbox" class="select-checkdox" id="select-checkdox-02" name="select-checkdox"> 22 <label for="select-checkdox-02" class="item-info"> 23 <div class="check-img"></div> 24 <div class="ttl">カード2</div> 25 <div class="price">180円</div> 26 </label> 27 </li> 28 <li> 29 <input type="checkbox" class="select-checkdox" id="select-checkdox-03" name="select-checkdox" 30 checked> 31 <label for="select-checkdox-03" class="item-info"> 32 <div class="check-img"></div> 33 <div class="ttl">カード3</div> 34 <div class="price">400円</div> 35 </label> 36 </li> 37 <li> 38 <input type="checkbox" class="select-checkdox" id="select-checkdox-04" name="select-checkdox"> 39 <label for="select-checkdox-04" class="item-info"> 40 <div class="check-img"></div> 41 <div class="ttl">カード4</div> 42 <div class="price">1,100円</div> 43 </label> 44 </li> 45 </ul> 46 </div> 47 </form> 48 </div> 49</div> 50
jquery
1 2$(function(){ 3 $('#sum_quantity,.select-checkdox').on('input',function(){ 4 var quantity=isNaN($('#sum_quantity').val())?0:parseInt($('#sum_quantity').val()); 5 var price=$('.select-checkdox:checked').nextAll('.price').map(function(){ 6 return parseInt($(this).text().replace(/[^0-9]/g,'')); 7 }).get().reduce(function(x,y){ 8 return x+y; 9 }); 10 $('#price-chg').text(quantity*price); 11 }); 12}); 13
回答1件
あなたの回答
tips
プレビュー