gpt4 book ai didi

ruby-on-rails - 从 rails 调用 javascript 函数

转载 作者:行者123 更新时间:2023-12-04 07:30:00 25 4
gpt4 key购买 nike

我正在尝试填充城市列表并在 map 上标记它们,使用 AJAX 我正在使用城市列表更新 div 元素,对于每个城市元素我正在尝试调用 addmarker() 函数,它是应该在谷歌地图上添加一个标记。使用 firebug 我可以看到带有函数调用的 javascript 标记,但是 addmarker() 没有被执行

强制调用 javascript 函数并更新 dom 元素的最佳方法是什么?

这是我的 addmarker() 的样子:

   function addmarker(lat,lng,title_new)
{
new_marker = new google.maps.Marker({
position: latlng_new,
map: map,
title:title
});
}

这是我的 html.erb 文件的样子

       <%= post.content %>
<script type="javascript"> addmarker( <%= post.lat_long%>, <%= post.title%>);
</script>
</div>

DOM 元素在文档加载完成后更新。

最佳答案

我不太清楚你到底在做什么,这是 AJAX 吗?addMarker 是如何工作的?您确定在调用该函数之前文档已经完全加载了吗?无论如何,当您用城市填充每个 div 时(我假设您在响应中有某种循环),最快和最脏的方法是直接调用每个元素的 javascript 函数。例如在您看来:

<% @response.each do |city| %>
... #whatever
<script>
<%= "addMarker(#{city})" %>
</script>
<% end >

但是您应该注意,这是一种突兀的 javascript,而且非常丑陋,因此您可能需要重新考虑这种方法。有很多关于这个主题的文章。 Here's我很快找到了一个。相反,我会将整个结果对象传递给页面顶部的 javascript 函数,该函数遍历结果并添加标记。

关于ruby-on-rails - 从 rails 调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com