当前位置:  开发笔记 > 编程语言 > 正文

Rails:单击下拉选项时提交(通过AJAX)

如何解决《Rails:单击下拉选项时提交(通过AJAX)》经验,为你挑选了1个好方法。

选择下拉框选项时,自动提交AJAX表单的最简单,最优雅的方法是什么?我正在创建一个管理页面,管理员可以在其中修改用户权限("权限"存储为整数),我希望"权限"字段是一个下拉框,当管理员自动提交和更新时点击他希望用户拥有的选项.

这是我目前正在看的精简版.我需要知道将其转换为远程表单的最佳方法,该表单在单击选项时自动提交.

随意指出任何切向性的建议或其他任何东西......我对Rails相对较新,只是在我不能不经常引用他人工作的情况下才能编写代码.


<% for membership in @story.memberships %>
  <% form_for membership do |f| %>
    <%= f.select :permissions, [['none', 0], ['admin', 9]] %>
  <% end %>
<% end %>

Scott Miller.. 15

有几种方法可以解决这个问题.当然观察场方法是一种方法,但您也可以使用简单的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")}"})

我个人比较喜欢前者.



1> Scott Miller..:

有几种方法可以解决这个问题.当然观察场方法是一种方法,但您也可以使用简单的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")}"})

我个人比较喜欢前者.


哪一个是第一个还是第二个?
来自ron:注意它是this.form.submit(); 不是在提交.
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有