よくある都道府県を選択後、それに合わせて市町村のセレクトを変えて表示させる、
2段階プルダウンメニューをつくりたいです。
https://qiita.com/ko5uke/items/eb2f7688b0b4390daef3
上記サイトを参考に、都道府県と市町村はデータベースに日本郵便さんのCSVデータを投入しています。
モデル構成は以下の通りです。
Userモデル | prefecture_id | city_id |
---|---|---|
integer | integer |
Prefecturemモデル | name |
---|---|
string |
Cityモデル | name | prefecture_id |
---|---|---|
string | integer |
フォーム部分で、1つ目の都道府県セレクトはできるのですが、
2段目でprefectureの値を取得してそれに合わせてoptionを表示するのがどうすればいいかわかりません。
JavaScriptのvalメソッドでselectの値を取得とか色々考えたのですが、やっぱりわかりませんでした。
どうすれば実現できますでしょうか?
Ruby
1<!-- セレクトフォーム部分 --> 2 3 <div class="field"><!-- 都道府県 --> 4 <%= f.label :prefecture_id %><br> 5 <%= f.collection_select :prefecture_id, Prefecture.all, :id, :name, :include_blank => true %> 6 <!-- デフォルトでid: "user_prefecture_id" がついてる --> 7 </div> 8 9 <div class="field"><!-- 市町村 --> 10 <%= f.label :city_id %><br> 11 <%= f.collection_select :city_id, City.where(prefecture_id: prefecture_id), :id, :city_name %> 12 <!-- ↑ここが違う? JSで都道府県の値を取得しないといけない? --> 13 </div>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。