前提・実現したいこと
Railsで開発中。
部分テンプレートで繰り返し表示しているviewにあるチェックボックスをクリックすると、ClassをAdd/Removeするという処理をjqueryで書いています。
しかし、2つめ以降に繰り返されている部分テンプレートで、このjqueryが効きません。
処理は、チェックボックスクリックすると、delete-textというクラスを付与し該当するitemに赤取り消し線を引くという処理です。
発生している問題・エラーメッセージ
以下部分テンプレートです。
_item.html.erb
ruby
1<li class="idea"> 2 <div id='checked-item'> 3 <%= item.text %> 4 </div> 5 <div class="checkbox checkbox-right"> 6 <%= link_to item_path(item), method: :delete , data:{ confirm: '本当によろしいですか?'}, remote: true do %> 7 <i class="fa fa-trash fa-fw" aria-hidden="true"></i> 8 <% end %> 9 <!-- ここをモーダルにする --> 10 <%= link_to edit_item_path(item), method: :get , item_id: item.id do %> 11 <i class="fa fa-edit fa-fw" aria-hidden="true" ></i> 12 <% end %> 13 <input type="checkbox" id="check" /> 14 </div> 15 </li> 16 17 18<!-- チェックつけたら赤取り消し線つける --> 19<script> 20 21$(function() { 22 $('#check').on('click', function() { 23 if ( $(this).prop('checked') == false ) { 24 $('#checked-item').removeClass("delete-text"); 25 } else { 26 $('#checked-item').addClass("delete-text"); 27 } 28 }); 29}); 30</script> 31
該当のソースコード
以下該当するViewです。
edit.html.erb
erb
1 2 <% if @items.present? %> 3 <div id="item-content"> 4 <% @items.each do |item| %> 5 <%= render partial: "item", locals: { item: item } %> 6 <% end %> 7 </div> 8<% end %>
試したこと
jqueryの処理、<script>を部分テンプレート側に書いても、呼び出し側に書いても同じでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/23 00:52
2019/01/23 01:19 編集
2019/01/23 01:13
2019/01/23 01:17
2019/01/23 02:00 編集
2019/01/23 02:20
2019/01/23 03:02 編集
2019/01/23 07:10
2019/01/23 07:59
2019/01/23 08:00
2019/01/23 18:25