当选择下拉框的选项时,自动提交 AJAX 表单的最简单、最优雅的方法是什么?我正在创建一个管理页面,管理员可以在其中修改用户权限(其中“权限”存储为整数),并且我希望“权限”字段成为一个下拉框,当管理员单击他希望用户拥有的选项。
这是我目前正在查看的精简版本。我需要知道将其转换为远程表单的最佳方法,该表单在单击选项时自动提交。
请随意指出任何切题的建议或其他任何内容...我对 Rails 还比较陌生,而且才刚刚达到可以编写代码而无需不断引用其他人的工作的程度。
<!-- This is the "index" view, by the way. -->
<% for membership in @story.memberships %>
<% form_for membership do |f| %>
<%= f.select :permissions, [['none', 0], ['admin', 9]] %>
<% end %>
<% end %>
有几种方法可以处理这个问题。当然,观察字段方法是其中一种,但您也可以使用简单的 javascript 或 remote_function 来执行此操作:
下面是简单的 JS 方法:
<% remote_form_for membership do |f| %>
<%= f.select :permissions, [['none', 0], ['admin', 9]], {}, :onchange => 'this.form.submit()' %>
<% end %>
另一种方法是这样的,并且会避开表单生成器(这可能有一些语法错误):
<%= select_tag(:permissions, [['none', 0], ['admin', 9]], {:onchange => "#{remote_function(:url => permissions_path(:story_id => story,
:with => "'permission='+value")}"})
我个人更喜欢前者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)