Chartkick Rails 4条形图问题与多个图表
Chartkick Rails 4 Bar Chart Issue with Multiple Charts
我有一个问题,我在一个页面上有多个民意调查问题。很简单,在回答了问题之后,将对控制器和js进行AJAX调用。erb使用Chartkick gem和Google jsp库呈现图表。这只适用于单个图表。然而,有几个条形图(每个回答的问题一个)是一个问题。结果是,最近回答的问题会覆盖错误div中问题的图表,只显示最后回答的问题。
基本代码如下:
In View:
<div id="results-<%= i %>" style="display: none; margin-top: -20px;"></div>
一旦问题得到回答,上面的div就会与图表一起显示。
在控制器中:
data = [
{
data: results_array
}
]
respond_to do |format|
@div_id = div_id
@poll_data = data
format.js
end
然后在js。在上述块中呈现的Erb文件:
$("#results-<%= @div_id%>").html('<%= escape_javascript(bar_chart(@poll_data, library: {legend: "none"})) %>').show();
任何帮助都将非常感激。我需要为每个问题显示正确的图表,并让它们可靠地加载。是否有一种方法来区分图表或对象的实例,我错过了?谢谢。
我对Chartkick有同样的问题,我刚刚改变了我想使用的每个图表的'id'。我找到的解决方案在下面的链接:https://github.com/ankane/chartkick/issues/193我知道现在回答这个问题有点晚了,但也许它会对别人有所帮助。
我目前正在使用Chartkick来准备我的图表,我发现了以下内容:
如果你使用Chartkick来渲染一个图表,它会渲染一个图表,并给它一个div, id为'chart-xx' (xx是数字,从1开始)。所以在我的情况下,我有5个图表,当我完成渲染(第一次加载图表,它将有5个图表,id为:
"图1"、"图2",图3,图4,图5的
我在rails上运行,因此我试图通过调用AJAX来重新渲染图表并替换我存储图表的html元素。然而,似乎当您调用AJAX并重新呈现Chartkick时。它再次以'chart-1'开始,因此它正在替换您的第一个图表。(我还没有深入到源代码有一个看,但似乎有一些代码行自动替换图表基于div: chart-1)
在尝试了几种方法后,最终我发现最有效的方法是直接替换javascript元素。因此,我使用Javascript完成了以下操作:
new Chartkick.LineChart($('#' + target).children().first().attr('id'), data);
target是存储图表的元素,data是您从AJAX调用中检索到的原始JSON对象。如下图所示:
<div id="target">
<div id="chart-1">
</div>
</div>
这样做将允许搜索图表元素,并强制页面上现有的图表元素重新呈现并生成一个新的图表。
(注意:不要将数据对象转换为String[例如JSON.Stringify(data)
])。这样做会让chartkick.js误解所提供的对象是一个字符串,它会尝试对所提供的字符串执行GET调用。
- Rails 4资产管道Heroku生产javascript参考问题
- React Rails应用程序中动态子项的密钥分配问题
- 在我的Rails应用程序中使用Stripe对卡充电时出现问题
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- Rails的问题,haml + javascript在字段对象的模糊
- 有没有一种方法可以在IE8中解决我的Rails javascript应用程序.js的问题
- Ruby(rails)时间戳和jQuery timeago插件出现问题
- Rails 4.0.1 JavaScript资产管道-跨浏览器支持-加载问题
- 混合 Rails 和 JavaScript 代码时的引号问题
- Ruby on Rails 新人的问题
- 在Backbone with Rails 3.x中面临多个路由器的问题
- 使用 setTimout 进行标题旋转 Rails 2.3.9 时出现问题
- Rails AJAX 销毁 - 重新渲染索引问题
- Rails & Youtube API:加载 iframe 时出现问题
- 尝试在 RAILS 中渲染 JS 会导致问题
- Rails 3 Ajax“双重发布请求”问题
- 直接从rails视图发送javascript的任何问题
- 带有 Rails 3.1 的 AngularJS - 加载 Angular 种子时遇到问题
- Rails 基文件具有调用函数 C 的函数 A,但 C 是在两个 JS 文件中定义的.如何按页解决此问题
- BackboneJS + Ruby on Rails (rails-api) 跨域问题