Rails 3:javascript在使用.js.erb文件提交表单后更新单个div

时间:2014-09-21 13:40:01

标签: javascript html ruby-on-rails ajax

嗨,我是新手使用带有rails的javascript,并希望我能得到一些帮助。我有一个像我喜欢的按钮,而不像帖子。

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&lt;%=”_“+ post.id.to_s%&gt;'之后在我看来。

home.html的:

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

我有很多帖子显示在Feed中,我使用post.id.to_s来选择要更新的特定帖子。为了测试我已经针对特定的帖子ID = 94而我正在使用下面的代码,但它似乎不起作用。

new create.js.erb:

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

正确功能的任何输入或我出错的地方都会很棒,非常感谢。

1 个答案:

答案 0 :(得分:0)

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

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

如果它确实需要是一个类,并且由于您正在抓取第一个类,您可以将此语法用于first方法(jsfiddle):

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

我不相信这是正确的jQuery语法:

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