我正在使用允許用戶將新內容添加到裝運框的工具。例如:在rails中獲取父元素的標識rjs
用戶正在設置一個貨件,每個貨件可以包含多個箱子,每個箱子可以包含多個內容。
所以我link_to_remote
連接,如:
在我的貨箱部分:
<div class="shipping_box" id="shipping_box">
#some code
<%= link_to_remote "Add box conents", :url => {:action=> 'add_box_contents'} %>
</div>
在add_box_contents.rjs
:
page.insert_html :bottom, "shipping_box", :partial => 'box_content', :object => BoxContent.new
和_box_content.erb
<div class="box_contents" id="box_contents">
box contents partial rendered
</div>
對於我的第一個裝運箱來說一切正常,但是當第二個裝運箱動態添加時,_box_content.erb
局部總是會在第一個箱子的<div>
中呈現。當然,這是因爲id被指定爲shipping_box
,並且所有框都共享此ID。那麼我的問題是,我如何將新盒子的內容部分呈現在正確包含盒子的div中,而不僅僅是第一個盒子?
此屏幕截圖顯示了第一個包含2個動態添加的內容行(下拉菜單)的框。我希望第二個框的「添加訂單行項目」行爲我的第二個框的內容添加一個下拉列表。 alt text http://img12.imageshack.us/img12/6274/screenshot20100622at114.png
出於好奇,你使用jRails插件? (希望如此;然後我們可以使用jQuery) – 2010-06-23 20:39:04
目前不是,但如果這是最簡潔的方式,我可以。你有什麼建議? – SooDesuNe 2010-06-24 00:50:41