![](/img/trans.png)
[英]How to use AJAX request to pass user's HTML5 location in a class variable from JavaScript to Rails controller?
[英]how to use HTML5 + JavaScript in Rails
假設我有一個數組中的對象列表,並且我希望這些項目中的每一個都有一個 id,讓我們說data-id="<%= item.id%>"
我如何將這個 data-id 傳入JavaScrpt 以便它顯示帶有項目 ID 的警報消息。
我不確定你到底在問什么,但如果你想遍歷一個數組並為每個 id 顯示警報,它看起來像這樣:
# assuming @items is and array of objects
<% for item in @items %>
<script>alert('<%= item.id %>')</script>
<% end %>
為了解決@mikeycgto 的大量警報點,如果您只想同時擁有所有 id 的警報,您可以這樣做:
<script>alert('<%= @items.collect(&:id) %>')</script>
編輯:因此,如果您想傳遞 id 並將您的項目部分內部的 id 用於您的 js,您可以將渲染部分與集合一起使用。
render :partial => 'item', :collection => @items
這將呈現“items/_item.erb”並將局部變量 ad 傳遞給模板進行顯示。 迭代計數器將自動提供給模板,其名稱形式為 partial_name_counter。 在上面的例子中,模板是 item_counter。
因此,在您的 _item.erb 部分中,您可以像這樣訪問該項目:
<div id="item_<%= #{item.id} %>" class="item">
<script>document.write('this is my item id written from JS: <%= item.id %>');</script>
</div>
這將使用 class 項目以“item_”的形式呈現具有 div id 的塊,並且 js 將寫出塊內的 id。 您可以重新利用 js 來做任何您需要的事情。
如果您想真正能夠使用數據,您應該將其序列化為 json
然后只需將其傳遞給變量
<script type="text/javascript">
var json = <%= json_serialized_object %>
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.