2013-07-31 51 views
0

在我的應用程序中,我有一個頁面,用戶可以在其中看到所有評論。每次審查有一個「編輯」鏈接:jquery/ruby​​ on rails - 動態更改div的高度

<div id ="edit_link"> 
    <%= link_to I18n.t('user.review.edit.edit'), edit_review_path(review), :remote => true, :class => "edit_review_link" %> 
    </div> 

它加載相同頁面的其它評論的編輯審查,用戶可以改變它。

它加載與此代碼在edit.js.erb文件:

$('#review_<%[email protected]%>').html("<%= escape_javascript(render 'edit') %>") 

現在,我想在加載時改變這種審查的高度進行編輯。任何想法我可以做到這一點?

我曾嘗試在我edit.js.erb文件:

$('#review_<%[email protected]%>').html("<%= escape_javascript(render 'edit') %>") 

$('#review_<%= review.id %>').animate({height:'250px'}, 350); 
//this method increases the height to 250px, at .35 seconds 

但我得到一個500 (Internal Server Error)錯誤。

我還沒有嘗試這一點,_review.html.erb文件中粘貼:

<script> 
$('#edit_link').click(function(){ 
    $('#review_<%= review.id %>').animate({height:'250px'}, 350); 
    //this method increases the height to 250px, with speed of .35 seconds 
}); 
</script> 

但它只是正常切換的第一次審查,在列表的頂部。此外,它增加了以下所有評論的大小。謝謝你的幫助。

+1

你缺少了「@ '在javascript中使用review.id之前(使用'<%= @ review.id%>'而不是'<%= review.id%>') – MrYoshiji

+0

@MrYoshiji - dooh!現在工作。把它放在答案中,我會很高興接受它。 – CHarris

回答

1

你有一個錯字的錯誤,你缺少的變量之前的@標誌;)

更改此:

$('#review_<%= review.id %>').animate({height:'250px'}, 350); 

要這樣:

$('#review_<%= @review.id %>').animate({height:'250px'}, 350); 
      ^
       # Here, add the '@' 
+0

可愛!感謝那。 – CHarris