0

我正在使用带有upvote 按钮的AJAX。当用户单击“UpVote”按钮时,应提交其表单并应显示禁用的按钮“Upvoted”。

现在upvoting工作,但是当它改变列中的每个'UpVote'按钮都被upvoted,然后在页面上重新加载没有upvote的按钮返回'UpVote'按钮。(奇怪):

<% @master_songs.each do |master_song| %>
    <td><div id="upvote-form">
          <% unless current_user.up_voted_song?(master_song) %>
              <%= render 'upvote', :master_song => master_song %>
          <% else %>
              <%= render 'upvoted' %>
          <% end %>
        </div></td>
  <% end %>

song_up_votes.js.erb 是这样的:

$("div#upvote-form").html("<%= escape_javascript(render('fan_bases/upvoted')) %>")

并且应该将上述 div 更改为单行而不是整列。

我怎样才能解决这个问题?非常感谢任何提示/帮助。

4

1 回答 1

1

看起来您所有的 div 都具有相同的“upvote-form”ID。因此选择器“div#upvote-form”选择了所有的upvote btns 进行替换。给每个 div 一个唯一的 id,这应该可以解决您的问题。

于 2012-06-30T01:44:51.573 回答