我有這個應用程序,其中在我有任務和子任務。每個任務都有一個添加子任務按鈕,點擊進入jquery腳本放置在application.html.erb file.which然後附加ap標籤來保存我的新子任務。現在想要什麼而不是該段落,我希望它顯示一個只包含:name文本字段和一個保存按鈕的小型子任務創建表單,它將把它作爲我的子任務的創建動作控制器。在rails中通過jquery呈現表單
記住每個子任務屬於任務
這是目前我如何創建子任務
<% provide(:title,'ToDoProject') %>
<% flash.each do |key,value| %>
<div class="alert alert-<%=key %>"><%=value %></div>
<%end%>
<h1>Create a subtask</h1>
<div class="container-fluid">
<div class="row-fluid">
<div class="span7">
<%=form_for [@task,@subtask] do |s| %>
<%=s.label :name %>
<%=s.text_field :name,autofocus:'true' %>
<%=s.submit "Save",class:'btn btn-success'%>
<%end%>
</div>
</div>
</div>
我想這個相同的形式,但要得到動態顯示,當用戶點擊添加新的子任務我的任務,以便用戶可以給子任務一個名稱,然後點擊保存,它將被保存到我的數據庫。
但所有這些都需要通過jQuery和使用它的追加函數。
這裏是新更新show.html.erb與子任務表單並添加卡的按鈕,使它可見
<div class="subtaskform" id="subtask_form_<%=task.id %>" style="width:218px;margin:0 2px 0px 3px;">
<%= form_for([task, task.subtasks.build]) do |f| %>
<%= f.text_area :name,rows:'3',cols:'3'%>
<%= f.submit "save",class:'btn btn-success' %>
<a data-id='<%=task.id %>' href="#"><i class="fa fa-times fa-lg"></i></a>
<% end %>
</div>
<p class="addcard" id="addcard_<%=task.id%>"><a href="#" data-id='<%= task.id %>' id='add_card_<%= task.id %>'>Add a card...</a></p>
這裏是jQuery代碼
$('.addcard > a').click(function(e){
$('#subtask_form_' + $(this).data('id')).show(1000);
e.preventDefault();
});
$('.subtaskform a').click(function(e){
$('#subtask_form_' + $(this).data('id')).hide(1000);
e.preventDefault();
});
謝謝酒店fr回覆豐富啄,但我想通了,這樣做的另一種方式,就是我的樂隊現在的問題是,我有我的創建子任務隱藏表單,並且當用戶點擊添加子任務,其可見性變化使用jquery.Everything工作正常,我也能夠保存子任務以及。現在我正在尋找如何刷新我的div任務的內容,一旦新的子任務被添加。我想我需要阿賈克斯爲that.Was只是谷歌搜索只有現在 –
沒問題!如果你需要任何進一步的幫助,請讓我知道:) –
似乎阿賈克斯已經超過了我的頭。你有ny簡單的阿賈克斯腳本,將爲我工作 –