事前検索フォームに次のコードがあります。顧客に対してラジオ ボタンを選択すると、ドロップダウン値に顧客データが入力されます。
<div class="container">
<%= form_tag search_index_path, method: :get do %>
<%= radio_button_tag :customer, params[:customer] %><p>Customer</p>
<%= radio_button_tag :supplier, params[:supplier] %><p>Supplier</p>
<% end %>
<%= collection_select(:customer, :customer_number, Customer.all, :id, :state) %>
<%= collection_select(:customer, :customer_number, Customer.all, :id, :city) %>
<%= collection_select(:customer, :customer_number, Customer.all, :id, :name) %>
</div>
<%= submit_tag "Search", name: nil %>
現在、2 つの問題に直面しています - 1. 両方のラジオ ボタンを同時に選択できます。他を選択すると、選択を解除する必要があります。それを処理する方法。2.ラジオボタンをクリックすると、ドロップダウン値が画面に表示されます。
これらの両方を処理するにはどうすればよいですか?また、誰かが学ぶためのjqueryとajaxの良いソースを提案できる場合.
ありがとうムグダ
私はこのようにコードを変更しました
<div class="container">
<%= form_tag search_index_path, method: :get do %>
<%= radio_button_tag 'user_type', 'customer' %><p>Customer</p>
<%= radio_button_tag 'user_type', 'supplier' %><p>Supplier</p>
<% end %>
<h2>Search Criteria</h2>
<div id="dropdown">
<p>State</p>
<%= collection_select(:customer, :customer_number, Customer.all, :id, :state) %>
<p>City</p>
<%= collection_select(:customer, :customer_number, Customer.all, :id, :city) %>
<p>Name</p>
<%= collection_select(:customer, :customer_number, Customer.all, :id, :name) %>
</div>
<div id="dropdown1">
<p>State</p>
<%= collection_select(:supplier, :supplier_number, Supplier.all, :id, :state) %>
<p>City</p>
<%= collection_select(:supplier, :supplier_number, Supplier.all, :id, :city) %>
<p>Name</p>
<%= collection_select(:supplier, :supplier_number, Supplier.all, :id, :name) %>
</div>
</div>
<%= submit_tag "Search", name: nil %>
<script>
$(document).ready(function() {
$("#dropdown").hide();
$("#dropdown1").hide();
$("input[type='radio'][name='user_type'][value='customer']").click(function(){
$("#dropdown1").hide();
$("#dropdown").show();
$("input[type='radio'][name='user_type'][value='supplier']").click(function(){
$("#dropdown").hide();
$("#dropdown1").show();
});
});
});
</script>
ここで、検索条件に一致するモデルから値を見つけることができるように、ドロップダウンと選択したラジオ ボタンの選択した値をコントローラーに渡す必要があります。私の質問は、jquery で選択した値をコントローラーに転送する方法です。