jQueryを用いてRailsのECサイトに画像拡大のモーダルをつくっています。
indexページで商品一覧から画像をクリックした際その商品の画像を拡大表示することを意図していました。
しかし、モーダルは全商品の画像がでてしまい、その商品だけモーダルを出すことができません。
どう記述すればクリックした商品の画像モーダルのみを表示することができるでしょうか。
index.html.erb のモーダル部分です。 全商品のモーダルがでてしまいます。↓
rails
1 <% @products.each do |product| %> 2 3 <div class="img-modal-wrapper"> 4 <div class="modal"> 5 <div class="close-modal"> 6 <i class="fa fa-remove" aria-hidden="true"></i> 7 </div> 8 <div> 9 <%= image_tag product.image_name.thumb.url %> 10 </div> 11 </div> 12 </div> 13 14 略
index.html.erb のクリックする部分。↓
rails
1 <% @products.each do |product| %> 2 3 上記モーダル記述 4 略 5 6 <div class="product-image"> 7 <%= image_tag product.image_name.thumb.url %> 8 </div>
↑のclass="product-image"のdivをクリックしてモーダルを表示させています。
jQuery 記述↓
$(document).on('turbolinks:load', function() { $('.product-image').click( function(){ $('.img-modal-wrapper').fadeIn(); }); $('.close-modal').click(function(){ $('.img-modal-wrapper').fadeOut(); }); });
回答1件
あなたの回答
tips
プレビュー