javascript - 使用 Jquery append 在点击时呈现部分

标签 javascript jquery ruby-on-rails-3 forms nested-forms

我想要一个按钮,每次单击它时都会呈现一个新的嵌套表单。为此,我使用了 JQuery 并正在使用 Rails 3.2

在另一个线程上,有人说要使用 ajax 调用“onclick 正在浏览器中执行,因此您将无法在其中使用 erb。您需要进行 ajax 调用(.load 是一个方便的快捷方式)到服务器,您可以在其中使用 erb 呈现部分内容以获取您需要返回的 html。”

这是我的 html.erb 表单,在 Jquery 单击时插入的表单部分是一行,而 JQuery. New Member 的 html 正确呈现,但部分呈现就好像它只是一个字符串。

有谁知道我如何进行 ajax 调用来渲染部分,或者我是否应该这样做?

<h1>New Member</h1><%=render'new_user')%>

new.html.erb

<%= form_for(@family) do |f| %>
  <form class = 'form-horizontal' role = 'form'>
    <div class='form-group'>
      <%= f.label :name %>
      <%= f.text_field :name, placeholder: @family.name %>
    </div>
    <button type="button" id="add-family-button" class="btn btn-warning">Add to your table</button>
    <div id="child-forms-div" class='form-group'>
    </div>
    <div class='actions'>
      <%= f.submit %>
    </div>
  </form>
<% end %>

_new_user.html.erb

这实际上是在一行中,但我无法在堆栈溢出时将其格式化为这种格式

<div class='form-group col-xs-3'>
  <%= f.fields_for :users, @new_user do |ff| %>
    <%= label_tag :first_name %>
    <%= ff.text_field :first_name, placeholder: 'First Name' %>
    <%= label_tag :last_name %>
    <%= ff.text_field :last_name, placeholder: 'Last Name' %>
  <% end %>
</div>

javascript.js

$("#add-family-button").click(function(){
  var form = "<h1>New Member</h1><%=render'new_user')%>";
  $("#child-forms-div").append(form);
});

最佳答案

为了能够动态生成嵌套表单,您可以使用带有一些辅助方法的 ajax 或 javascript。

这个过程在此处的 Rails 中得到了很好的解释 - rails cast link

关于javascript - 使用 Jquery append 在点击时呈现部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283682/

相关文章:

javascript - 将 jQuery 插件转换为 es6 模块

javascript - 在 jQuery 中使用 $ ('body' ).html ('' ) 是什么意思?

javascript - 在单独的网站上使用 ajax 登录 Rails 3 应用程序(使用 Devise 进行身份验证)

javascript - 使用 Kendo Mobile ListView ,如何在 HeaderTemplate 上设置多个值?

javascript - 从 Html Helper 中 knockout 的显示值

javascript - AngularJS $http ".then"回调未使用 ExpressJS 和 sendgrid 触发

javascript - 通过复选框以模式从表中获取数据

ruby-on-rails - 如何检查纬度是否在城市范围内

ruby-on-rails-3 - Rails 提交按钮 : How do I have button run a certain method when clicked?

javascript - js 可视化 - 这个价格图表使用了哪些技术?