0

正如标题所示,我想知道如何在视图上创建一个复选框,该复选框将在不刷新页面的情况下更改呈现的表单。

在我的app/views/home/文件夹中,我有_form_1.html.erb_form_2.html.erb

我想默认<%= render 'form_1' %>为未选中该框的时间,并更改为<%= render 'form_2' %>选中该框的时间。

我试图查找如何执行此操作,但是诸如.is(":checked")并且check_box_tag似乎对我不起作用,或者我使用错误。

任何帮助表示赞赏!

编辑:我正在使用 Rails 3.2.12 和 Ruby 1.9.3。

4

2 回答 2

0

我这样做的方法是从另一个视图呈现两个表单部分,并将它们中的每一个放在一个 div 中。默认的表单 div 应该是可见的,而可选的表单 div 应该是隐藏的。然后,您可以通过单击复选框来切换 div 的显示。

根据表单中的内容以及它们与控制器的交互方式,处理过程中可能涉及很多其他工作,但为了切换显示的表单,上述方法是一种选择。

于 2013-03-10T21:16:57.130 回答
0

如果您想在不刷新的情况下执行此操作,则必须使用 javascript。您要做的是将每个表单呈现为hidden. 下一部分使用 jquery 非常简单。When a checkobox is selected you'd just do something like $('#form1').show(), and conversely$('#form2').hide()

于 2013-03-10T21:20:51.590 回答