## 状況
商品一覧ページにある価格をjQueryを使って、各為替の価格にざっくり変更できる機能を作っています。
以下の流れで考えているのですが、
1,ユーザーが希望通貨のボタンを押す(ボタンのクラス.switch .aud)
2,jQueryで基本通貨の価格を取得(h2 .es-priceの要素に為替記号、コンマ付きの状態で1ページに10個あリます)
3,為替記号やコンマ等を外す。
4,為替APIから各レートを取って、その数値を掛けて値を戻す。
下記のコードを書いたのですが、このコードだと4の段階でページ内にある10個の金額が同じ金額になってしまい、
困っています。(全ての商品が1番最後の商品の価格に0.7掛けた金額に変更されてしまいます。)
##質問
・.text()で取得した値を変更した後に元の場所に順番通り戻す事は可能でしょうか?
##コード
HTML
1 2 <div class="wrapper"> 3 <div class="row-view"> 4 <h2> 5 <a href="https://sample.com/properties/house/">house1</a> 6 <span class="es-price">¥ 2,500,000</span> 7 </h2> 8 <p>紹介文</p> 9 </div> 10 11 .... 1ページに10件の情報 12 13 <div class="row-view"> 14 <h2> 15 <a href="https://sample.com/properties/house/">house1</a> 16 <span class="es-price">¥ 2,500,000</span> 17 </h2> 18 <p>紹介文</p> 19 </div> 20 </div> 21
jQuery
1 jQuery(function($){ 2 $('h2 .es-price').each(function() { 3 var basecur = $(this).text(); 4 basecur = basecur.replace("¥",""); 5 basecur = Number(basecur.replace(/,/g, '') ); 6 basecur = Math.round(basecur); 7 if(jQuery('.switch .aud').on('click', function(){ 8 var basecuraud = basecur * 0.7; 9 var length = jQuery('h2 .es-price').length; 10 for( var i=0; i<length; i++) { 11 jQuery('h2 .es-price').eq(i).text(basecuraud); 12 } 13 })); 14 });
回答1件
あなたの回答
tips
プレビュー