Javascript 选择框onClick-Rails

Javascript 选择框onClick-Rails,javascript,ruby-on-rails,Javascript,Ruby On Rails,我有一个Rails应用程序,在erb代码中,我使用一个选择框。我想做的是重新加载传递sort参数的页面。我的控制器已经处理了它,但我不知道如何用我的选择框中的选定值重新加载页面。这是我的密码: <% @options = {:latest => 'lastest' , :alphabetical => 'alphabetical', :pricelow => 'price-low', :pricehigh =>'pricehigh'} %> <%= se

我有一个Rails应用程序,在erb代码中,我使用一个选择框。我想做的是重新加载传递sort参数的页面。我的控制器已经处理了它,但我不知道如何用我的选择框中的选定值重新加载页面。这是我的密码:

<% @options = {:latest => 'lastest' , :alphabetical => 'alphabetical', :pricelow => 'price-low', :pricehigh =>'pricehigh'} %>
<%= select_tag 'sort[]', options_for_select(@options), :include_blank => true,:onchange => "location.reload('location?sort='+this.value)"%>
'lastest',:alphastical=>'alphastical',:pricelow=>'price low',:pricelhigh=>'pricelhigh'}%>
true,:onchange=>“location.reload('location?sort='+this.value)”%>

您是否考虑过在列表框上使用ajax调用?如果控制器上有一个基于排序参数仅返回排序列表的方法,则可以执行以下操作:

<% @options = {:latest => 'lastest' , :alphabetical => 'alphabetical', :pricelow => 'price-low', :pricehigh =>'pricehigh'} %>
<%= select_tag 'sort[]', options_for_select(@options), :include_blank => true,:onchange => remote_function(:url => {:controller => 'your_controller', :action => 'list_sort_method'}, :with => "'sort='+this.value", :update => "div_containing_list") %>
'lastest',:alphastical=>'alphastical',:pricelow=>'price low',:pricelhigh=>'pricelhigh'}%>
true,:onchange=>remote_函数(:url=>{:controller=>'your_controller',:action=>'list_sort_method'},:with=>“'sort='+this.value”,:update=>“div_containing_list”)%>

如果您不想使用AJAX,请在代码周围放置一个表单标签

请查看上的Redmine源代码。UsersController也做了类似的事情——有一个组合框允许使用过滤器。选择组合将重新加载页面