前提・実現したいこと
**動的なセレクトボックスで作成した値を取得し、投稿したpostを検索したい
※動的なセレクトボックスは実装できたのですが、そこから投稿を検索させることができない状態です。
**現在個人アプリを開発中です。
アプリのコンセプトは、スノボー版インスタグラムです。
スノボーのセレクトボックスで選択した内容をもとに投稿一覧を表示させたいです。
■セレクトボックスの内容を選択し、チェックするを押すと、セレクトボックスで選択した内容の投稿一覧が表示されるようにしたい。
searchアクションにどう記述すればいいのか、現段階で頭を悩ませているので、コントローラーなどにどんな記述をすればいいのか、それ以外にもどんなコードを書けばいいのかわからないので、どなたかわかる方ご教示お願いいたします。
ちなみに現在のセレクトボックスの該当ソースコードは以下となります。
.home-snowB-search__comboBox .home-snowB-search__comboBox__snowBselect %label.seachBox-listname snowBを選ぶ %select.selectBoxLists{id: "parent", name: "snowB"} %option{value: "", class: "msg"} snowBを選択 %option{value: "snowboard"} ボード %option{value: "snowboots"} ブーツ %option{value: "binding"} ビンディング %br %p.synergy ✖️ .home-snowB-search__comboBox__brand %label.seachBox-listname ブランド %select.selectBoxLists{name: "ブランド", id: "children"} %option ブランドを選択 -# スノーボードのブランド %option{value: "Burton", "data-val": 'snowboard'} BURTON %option{value: "K2", "data-val": 'snowboard'} K2 %option{value: "Burton", "data-val": 'snowboard'} SALOMON -# ブーツのブランド %option{value: "Burton", "data-val": 'snowboots'} BURTON %option{value: "DEELUXE", "data-val": 'snowboots'} DEELUXE %option{value: "FLUX", "data-val": 'snowboots'} FLUX -# ビンディングのブランド %option{value: "BURTON", "data-val": 'binding'} BURTON %option{value: "UNION", "data-val": 'binding'} UNION %option{value: "FLUX", "data-val": 'binding'} FLUX
js
$(function() { let $children = $('#children'); let original = $children.html(); $('#parent').change(function() { let val1 = $(this).val(); $children.html(original).find('option').each(function() { let val2 = $(this).data('val'); if (val1 != val2) { $(this).not('.msg').remove(); } }); if ($(this).val() === '') { $children.attr('disabled', 'disabled'); } else { $children.removeAttr('disabled'); } }); });