簡體   English   中英

使用Jquery追加部分點擊

[英]Render partial on click with Jquery append

我想要一個按鈕,它將在每次單擊時呈現一個新的嵌套表單。 為此,我使用了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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM