Jquery Railscast 197,第2部分:如何删除Rails 3中的一组字段?
我正在Rails 3中构建一个表单,遵循视频中的说明: 我的表单与视频中的表单有一个主要区别:我希望能够从表单中删除一组字段,而不是删除表单上的一个字段。该组包含以下字段:“人数”、“性别”、“种族”、“年龄”。我可以使用本视频系列第1部分中的复选框删除这组字段,但自从我添加了jquery功能后,它就不起作用了 有什么建议吗 new.html.erbJquery Railscast 197,第2部分:如何删除Rails 3中的一组字段?,jquery,ruby-on-rails,ruby-on-rails-3,forms,Jquery,Ruby On Rails,Ruby On Rails 3,Forms,我正在Rails 3中构建一个表单,遵循视频中的说明: 我的表单与视频中的表单有一个主要区别:我希望能够从表单中删除一组字段,而不是删除表单上的一个字段。该组包含以下字段:“人数”、“性别”、“种族”、“年龄”。我可以使用本视频系列第1部分中的复选框删除这组字段,但自从我添加了jquery功能后,它就不起作用了 有什么建议吗 new.html.erb <%= f.fields_for :audiences do |builder| %> <div class="audience
<%= f.fields_for :audiences do |builder| %>
<div class="audiencefields">
<%= builder.hidden_field :_destroy %>
<%= link_to_function "remove", "remove_fields(this)" %>
<p>
<%= builder.label :number_of_people %><br />
<%= builder.text_field :number_of_people %>
</p>
<p>
<%= builder.label :gender %><br />
<%= builder.text_field :gender %>
</p>
<p>
<%= builder.label :ethnicity %><br />
<%= builder.text_field :ethnicity %>
</p>
<p>
<%= builder.label :age %><br />
<%= builder.text_field :age %>
</p>
</div>
<% end %>
我相信您的jQuery有问题,请尝试查找一些函数。我想你可能在找
$(link).prev("input[type=hidden]").val = "1"
$(link).slideUp("audiencefields")
或者类似的东西。您可能正在查找$(link).prev().css(“隐藏”,true)。不完全确定,但这是可能的。检查firebug以确保您使用的所有方法都是jQuery的一部分
另外,确保所有jQuery都在$(document.ready()中;或者它可能不起作用。我花了一段时间试图解决这个问题,但找不到解决方案,因为这个railscast对于Rails 3来说似乎已经过时了。我最终安装了嵌套表单gem,它工作得很好:我认为您必须首先使用style='display:none'创建元素,然后在加载页面时使用.show()创建元素,然后使用.hide()将其加载到Firefox中,并使用Firebug(一个插件)查看控制台中是否有任何错误。
$(link).prev("input[type=hidden]").val = "1"
$(link).slideUp("audiencefields")