首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将选定的<option>在<select>标记中传递到Rails中的下一页

将选定的<option>在<select>标记中传递到Rails中的下一页
EN

Stack Overflow用户
提问于 2015-06-15 10:56:10
回答 2查看 861关注 0票数 2

我已经创建了一个使用以下代码

代码语言:javascript
复制
<select name="Books">
<% books.each do |book| %>
<option value="<%= book.id%>"> <%= book.name %> </option>
</select>
<% end %>

我在同一页上有个按钮

代码语言:javascript
复制
<button>View Book Details</button>
<button>Delete Book</button>

现在,我想带用户到不同的页面,取决于他点击的按钮。当他点击“查看图书详细信息”时,我想让他登陆/book/view,如果他点击“删除图书”,我想让他登陆/book/delete

当我将用户降落到所需的页面时,我希望将用户选择的用户选择的页面传递给着陆页面。就像这样

  • 例如,如果用户选择Book-1,并单击“查看图书详细信息”,则需要/book/view?id=1
  • 如果用户选择Book-3,并单击“查看图书详细信息”,则需要/book/view?id=3
  • 如果用户选择Book-5,并单击"Delete Book",则需要/book/delete?id=5

,我该怎么做?

EN

回答 2

Stack Overflow用户

发布于 2015-06-15 11:06:03

根据你的代码,我可以想出如下结论:

代码语言:javascript
复制
 <%= form_tag "/book/view", method: :get do %>
   <%= select_tag "id", options_for_select(books.collect{|book| ["#{book.name} #{book.id}", book.id] }) %>
   <%= submit_tag "View Book Details" %>
 <% end %>

 <%= form_tag "/book/delete", method: :delete do %>
   <%= select_tag "id", options_for_select(books.collect{|book| ["#{book.name} #{book.id}", book.id] }) %>
   <%= submit_tag "Delete Book" %>
 <% end %>
票数 0
EN

Stack Overflow用户

发布于 2015-06-15 11:43:34

您可以使用单个select和单个隐藏字段来完成此工作。

代码语言:javascript
复制
 //form 1 for view 
 <%= form_tag "/book/view", method: :get do %>
  <%= select_tag "id", options_for_select(books.collect{|book| ["#{book.name} #{book.id}", book.id] }), 
     :onChange => "$('#book_select').val($(this).val())" %>
  <%= submit_tag "View Book Details" %>
 <% end %>

 //form 2 for delete
 <%= form_tag "/book/delete", method: :delete do %>
  <%= hidden_field_tag "book_select", :name => "id" %>
  <%= submit_tag "Delete Book" %>
 <% end %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30843410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档