2016-11-04 15 views
1

ドロップダウンを表示し、値パラメータのIDをコントローラに送り、データをロードしてページをリロードします。ドロップダウンの値からIDを取得し、コントローラに送信し、データをロードし、ページをリロードします。

これを想像してください。あなたはページの管理者です。あなたはすべてのユーザーのリストを持っています。今、特定のユーザーのプロジェクトや投稿、コメントを見たいと思っています。ドロップダウンがあり、ユーザーを選択すると、データはプロジェクト、投稿、コメントをロードします。今度は別のユーザーからのデータを見たいと思っています。前と同じように、ドロップダウンで別のユーザーを選択すると、データがリロードされ、同じページに表示されます。

私は他の構成を選択した場合は、私が手:

<%= select_tag "construction_id", options_from_collection_for_select(@constructions, "id", "title"), :onchange => "constructions_dropdown(this.value)", class: "form-control", id: "dropdown_const" %> 

HTMLは次のようになります。

は、これまでのところ私は、ドロップダウンを作成し、jQueryのコードにIDを取得する方法を知っていますid:

function constructions_dropdown(construction_id) { 
    alert(construction_id) 
} 

何が今ですか?私はまだインデックスページにいます。だから多分私はform_tagを作るべきですか?そして、コントローラにconstruction_idを送信し、idがnilでないことを保証してから、データをロードする必要がありますか?私はページのリロードはフォームの提出によって行われるべきだと思うので。

答えて

0

jQueryを使用している場合は、Jquery Ajaxを使用して必要な情報を取得する必要があります。結果から、新しい情報を再ロードまたは印刷することができますhttp://api.jquery.com/jquery.ajax/

+0

これは答えの一部です。私はできることと、どのようにデータをコントローラに送るのかを知っています。しかし、コントローラ(1つの質問)にデータをロードし、ページをリロードする必要があります。私は変更や提出などに使う必要があると思っていますが、jQueryの知識はあまり良くありません。 – Boomerange

+0

内側のhtml要素を変更して古いオプションを削除し、新しいオプションを割り当てることができます。もう一つのオプションは、jQuery UIの** select **要素を使用しています:https://jqueryui.com/selectmenu/#default –

関連する問題