$.plot($("#domain1_chart"), ...); $.plot($("#domain2_chart"), ...); . -6ren">
gpt4 book ai didi

javascript - 使用Rails动态打印时无法访问html id标签

转载 作者:行者123 更新时间:2023-12-02 17:02:18 25 4
gpt4 key购买 nike

我有以下代码:

<% @domains.each do |domain| %>
<div id="<%= domain %>_chart"></div>
<% end %>

<script>
$.plot($("#domain1_chart"), ...);
$.plot($("#domain2_chart"), ...);
.
.
</script>

似乎当调用 Javascript 时,div 的 id 尚未设置,或者类似的东西。我尝试使用 settimeout() 来调用 $.plot ,但这也不起作用。然而,当我从 ID 中删除 <%= domain %> 时,它确实有效。

关于如何让它与动态 ID 一起工作有什么想法吗?

最佳答案

解决方案:

<% @domains.each_with_index do |domain, i| %>
<div id="domain<%= i %>_chart"></div>
<% end %>
<小时/>

修复

您会想把一些事情做得更好:

<% @domains.each_with_index do |domain, id| %>
<%= content_tag :div, id: "domain#{id}_chart", class: "chart" do %>
...
<% end %>
<% end %>

--

您还需要考虑您的 JavaScript:

#app/assets/javascripts/application.js
var charts = function() {
$(".chart")....
});
$(document).on("page:load ready", charts);

注意到我如何调用图表吗?这是因为您应该只使用 id识别页面上的特定元素。如果您要对元素集合使用相同的功能,最好调用类而不是 id

关于javascript - 使用Rails动态打印时无法访问html id标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25588333/

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