淡出 jquery 不起作用。删除成功但不褪色



这是我试图淡出的div的一部分。

<% @unconfirmed_sub_posts.each do |sub| %>
  <div class = "unconfirmed_post" id = "unconfirmed_sub_post_<%=sub.id%>">
   <table class = "table">
    <tr>
      <td id = "tablenoborder">
        <%= link_to 'x', sub, method: :delete, class:"btn btn-danger btn-small", remote: true %>
      </td>

请注意我放在div 上的 ID,并将 remote:true 添加到将其发送到销毁控制器操作的link_to。

在我的控制器中,这里是销毁操作。

  def destroy
   @sub_opp.destroy
   respond_to do |format|
    format.html { redirect_to sub_opps_url }
    format.js
   end
 end

最后,在我的 destroy.js.erb 文件中:

$('#unconfirmed_sub_post_<%= @sub_opp.id %>').fadeOut(500);

该项目正在被删除,但不会淡出。 当我刷新页面时,div 消失了。Javascript控制台给了我这个错误:

DELETE http://localhost:3000/sub_opps/14 500 (Internal Server Error) 

呈现的 HTML:

<div class = "unconfirmed_post" id = "unconfirmed_sub_post_14">
  <table class = "table">
    <tr>
      <td id = "tablenoborder">
        <a class="btn btn-danger btn-small" data-method="delete" data-remote="true" href="/sub_opps/14" rel="nofollow">x</a>
      </td>
      <td id = "tablenoborder">
        <b>Basketball</b> at <b>depaul</b> on <b>Saturday, January 04, 2014</b>  at <b> 4:00pm</b>.
      </td>
    </tr>
  </table>
  <!-- ANY RESPONSES TO PENDING SUB POSTS -->
  <div class = "responses_to_posts">
    <h5 class = "nomargintop">Responses</h5>
        <p class = "nonheadingtext">There are no responses yet.</p>
  </div>
</div>

知道为什么吗?谢谢

调用销毁的 JavaScript 在哪里? 淡出接受回调。尝试在回调中调用在服务器上调用销毁的代码。喜欢这个

 $('#unconfirmed_sub_post_<%= @sub_opp.id %>').fadeOut(500, function(){
    //put your code that calls the server to destroy here
 });

在表单提交时,您需要先淡出(),然后在 fadeOut() 回调中允许提交表单。

问题是我的javascript文件在错误的视图子文件夹下。 我试图从用户仪表板中删除帖子,并将 js 文件放在用户目录中,而实际上它应该在帖子子文件夹中。

经验教训:确保 JS 文件位于要修改的对象的 View 文件夹下,而不是链接所在的位置。

谢谢你的帮助。

最新更新