gpt4 book ai didi

ruby-on-rails - 如何在选择下拉列表中发生 onchange 时自动提交 Rails formhelper(从 DB 填充)

转载 作者:行者123 更新时间:2023-12-04 16:45:07 25 4
gpt4 key购买 nike

我的 View 中有一个带有两个下拉列表的表单,它们都是从 db 表填充的,我想在任一下拉列表中发生 onchange 事件时自动提交表单:

<%= form_for @products, url: products_path, method: :get do |f| %>
<!-- POPULATE DROPDOWNS FROM DB DATA -->
<%= select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}) %>
<%= select('post', 'category_id', @categories.collect {|c| [c.cat_name, c.id]}) %>
<div class='actions inline'><%= f.submit 'GO!' %></div>
<% end %>

我尝试了以下变体,但我在 Ruby/Rails/JS 方面还是很新的......到目前为止没有运气:
<%= select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}, :onchange => "this.form.submit()") %>

<%= select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}, :input_html => {:onchange => "this.form.submit()") %>

任何意见是极大的赞赏!

最佳答案

参见文档:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

争论是这样的:

select(object, method, choices, options = {}, html_options = {})
:onchange属于 html 选项,因此您需要将选择框修复为:
select('post', 'state', @suppliers.collect {|s| [s.supp_state, s.id]}, :onchange => "this.form.submit()")

关于ruby-on-rails - 如何在选择下拉列表中发生 onchange 时自动提交 Rails formhelper(从 DB 填充),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17663099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com