0

我不想在提交表单时从下拉和选中单选按钮中保留选定的值。在两个单选按钮的 onclick 中,我必须提交表单,提交后它似乎会重置所选值。这是我正在使用的代码

 <%= 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 回答