我在show.html.erb
<script type="text/javascript">
$(document).ready(function(){
$("#map<%= shop.id %>").gMap({ markers: [{ latitude: <%= shop.lat %>,
longitude: <%= shop.lng %>,
html: "<%=h shop.name %><br/><a href='http://maps.google.com/maps?q=<%=h shop.address_geo %>' target='_blank'>See Full Map</a>" },
],
zoom: 16 });
</script>
然后在它的底部,我想做这样的事情:
function append_place(type) {
var shop_id = id;
$("shop_id").append(shop_id);
}
我希望id
替换为<%= shop.id %>
。我知道这两个脚本在编码时都是错误的,但我该如何实现呢?不能使用Rails cos这是客户端和JSON。它首先从数据库中提取id
,然后通过内联脚本附加它。
感谢。
答案 0 :(得分:1)
您可以将该变量转储到任意数量的位置,但为了保持全局命名空间的清洁,您可以在jquery对象中创建一个myPageVars对象,例如:
<script type="text/javascript">
$.myPageVars = $.myPageVars || {}; // don't want to overwrite any previously written vars
$.myPageVars.shop_id = "<%= shop.id %>"
$(document).ready(function(){
$("#map<%= shop.id %>").gMap({ markers: [{ latitude: <%= shop.lat %>,
longitude: <%= shop.lng %>,
html: "<%=h shop.name %><br/><a href='http://maps.google.com/maps?q=<%=h shop.address_geo %>' target='_blank'>See Full Map</a>" },
],
zoom: 16 });
</script>
你的追加功能如下:
function append_place(type) {
var shop_id = $.myPageVars.shop_id || false;
if (shop_id) $("#map"+shop_id).append(whatever);
}
对不起,如果我误解了你的问题,我不是铁路用户。