0

フォームの送信中に、ドロップダウンから選択した値とチェックしたラジオボタンを休ませたくありません。両方のラジオボタンのオンクリックで、フォームを送信する必要があります。送信後、選択した値がリセットされます。これが使用しているコードです

 <%= form_tag(:action =>"show", :method => "post") do %>
    <%= @name %>.
    <strong>Select device: </strong> <%= collection_select(:device, :id, @devices, :id, :name, options ={:selected => params[:name],:prompt => "-Select a device"}) %>
    <br></br>
    <strong>Chose: </strong>
    <%=  radio_button_tag :name,:time,@name.eql?('time'),:onclick => "this.parentNode.submit();"%>Time

    <%=  radio_button_tag :name,:graph,,@name.eql?('graph') :onclick => "this.parentNode.submit();" %>Graph
    <%end%>

ページの更新で値を選択すると、選択した値が表示されますが、ラジオ ボタンをクリックした後に選択した値が表示されません。

4

1 に答える 1

1

collection_select コードを次のように変更します

collection_select(:device, :id, @devices, :id, :name, { selected: params.fetch(:device, {})[:id].to_i, :prompt => "-Select a device" }) %>

更新:ラジオボタン用。

どのように設定しているかはわかりません@nameが、それを使用してラジオボタンの状態を確認しているため、コントローラーでこれを行う必要があります

@name = params[:name]

または、それをしたくない場合は、次のことができます

<%= params[:name] %>.
<%= radio_button_tag :name, :time, params[:name] == 'time', onclick: 'this.parentNode.submit();' %>Time
<%= radio_button_tag :name, :graph, params[:name] == 'graph'), onclick: 'this.parentNode.submit();' %>Graph
于 2013-03-01T06:13:57.597 に答える