簡體   English   中英

Rails 3:JavaScript在使用.js.erb文件提交表單后更新單個div

[英]Rails 3: javascript to update single div after form submit with .js.erb file

嗨,我是新手,將JavaScript與Rails配合使用,希望能得到一些幫助。 我有一個喜歡按鈕,與過去的帖子不同。

home.html:

<%= form_for(current_user.appreciations.
                          build(:liked_id => post.id),
                          :remote => true) do |f| %>
 <div><%= f.hidden_field :liked_id %></div>
 <div class="actions"><%= f.submit "Like" %></div>
<% end %>

我喜歡一個帖子后,使用js.erb文件呈現不同的形式。

create.js.erb:

$("#like_form_<%= @post.id.to_s %>").html("<%= escape_javascript(render(:partial => 'users/unlike', :locals => {:post => @post})) %>")

我想添加一行,然后在我的視圖中更新div class =“ like-count <%=” _“ + post.id.to_s%>'。

home.html:

<div class="like-count<%= "_"+ post.id.to_s%>">
  <%= user_post.likers.count.to_s %>
</div>

我有很多帖子顯示在摘要中,並且我使用了post.id.to_s來選擇特定的帖子,例如要更新的計數。 為了進行測試,我指定了一個特定的帖子ID = 94,並且正在使用下面的代碼,但它似乎不起作用。

新的create.js.erb:

$("#like_form_<%= @post.id.to_s %>").html("<%= escape_javascript(render(:partial => 'users/unlike', :locals => {:post => @post})) %>"
$(".like-count_94").reset();

非常感謝您對正確的功能或我要去哪里的錯誤的任何輸入。

如果您like-count div是唯一的,為什么不使用ID而不是類呢?

$("#like-count").reset();

如果確實需要一個類,並且由於您正在獲取第一個類,則可以對第一個方法( jsfiddle )使用以下語法:

$(".like-count").first().text('NEW TEXT/CONENT TO ADD');

我不認為這是正確的jQuery語法:

$(".like-count").[0].reset();

暫無
暫無

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

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