【问题标题】:How to check which checkbox tag user clicked?如何检查用户点击了哪个复选框标签?
【发布时间】:2012-09-19 11:16:23
【问题描述】:

在rails中,浏览器如何知道用户点击了哪个复选框?

=check_box_tag "name"

我在这里查看 他们有http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-check_box_tag

check_box_tag(name, value = "1", checked = false, options = {}),

有人能解释一下上面的逻辑吗?它是否具有保存用户选择的复选框标签的功能?

【问题讨论】:

  • “保存用户选择的复选框标签的功能”是什么意思?您是在浏览器中访问数据,还是在提交表单后访问服务器上的数据?
  • 我想让我的服务器知道用户选择了哪个chickbox

标签: html ruby ruby-on-rails-3


【解决方案1】:

表单项(包括复选框)由它们的名称标识。只要您将它们包装在提交到服务器上所需路由的表单标签中,它就与任何其他表单(用户注册、登录等)没有什么不同。复选框数据将在您的控制器中的 params 哈希中可用。

比如你认为的这段代码:

<%= form_tag("/checkboxes", :method => "get") do %>
  <%= check_box_tag(:box_1) %>
  <%= check_box_tag(:box_2) %>
  <%= check_box_tag(:box_3) %>
  <%= check_box_tag(:box_4) %>
  <%= submit_tag("Submit") %>
<% end %>

将允许您在控制器中像这样访问您的复选框:

def checkboxes
  params[:box_1]
  params[:box_2]
  params[:box_3]
  params[:box_4]
end

【讨论】:

  • 我明白了,我只是意识到在 Rails 中如果你不给他们一个名字/ID,他们会分配一个默认值
猜你喜欢
  • 1970-01-01
  • 2012-04-17
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多