Rails5.2で検索画面を作っているところです。
検索条件の入力部分を、パーシャルにしてモーダルウインドウとして切り出しました。
一覧画面にて、ボタンを押すとモーダルウインドウは表示されます。
困っていること
モーダルウインドウ上でスクリプトが動作しません。
※実行したいタイミングは、select boxチェンジ時
確認したこと
・スクリプト自体には問題なく、他の画面で動作確認済みです。
・モーダル表示前にブラウザ上で右クリック→「ソースの表示」を行うと当然select boxはまだ存在しません。ですが表示後に同様でも存在しません。ちなみに「検証」からだと確認できました。
以上のことから
スクリプト読み込み時に「select boxが生成されていないため認識できない」のが原因かなと予想してます。
見当違いでしたらごめんなさい。
モーダル上でスクリプトを実行するには、どのような方法があるのでしょうか?
以下からソースです↓
/app/views/items/index.html.erb
ruby
1<%= link_to '詳細検索', items_path, remote: true, class: "btn btn-primary" %> 2<div id="search-modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true"></div> 3
上記で生成されるhtml。
html
1<a class="btn btn-primary" data-remote="true" href="/items">詳細検索</a> 2<div id="search-modal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true"></div> 3
モーダルウインドウ側
/app/views/items/_search.html.erb
ruby
1 <select class="select-parent" name="item[category_id]" id="item_category_id"> 2 <option value="">選択して下さい</option> 3 <option data-children-path="/categories/1/sub_categories" value="1">選択項目1</option> 4 </select> 5
スクリプト
coffeescript
1$(document).on 'turbolinks:load', -> 2 test = -> 3 alert("こんにちは") 4 $('.select-parent').on 5 'change': test
ちなみに、モーダルウインドウ上で右クリック→「ソースの表示」とやっても、
背景側(一覧画面)と同じソースが表示されるんですね。
以上です。
諸先輩方どうかアドバイス宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/07 07:23
2020/07/07 07:36
2020/07/07 23:05
2020/07/08 21:57