繁体   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