我的应用程序根据用户输入动态创建dygraphs图表。在某种时间轴上,每个图表都显示在另一个图表的上方。我还希望为用户提供在单个图表级别更改几个选项的功能。
但是,我正在使用以下方式动态创建图表:
g = new Dygraph(document.getElementById("trend_" + json.id), data,
{
... some options specified here
});
每当我尝试使用以下内容更新其中一个图表上的某些选项时:
g.updateOptions({ ... some option });
它只能更新最后创建的图表。
我最初想的是使用数组,但我不认为它会起作用,因为图表不是同时创建的。 (我创建的jsfiddle允许它,但只有在同一时间创建它们时才<)
我的选择是什么?如果我只能在document.getElementById()
函数中传递g.updateOptions()
...
答案 0 :(得分:1)
如果要将ID映射到Dygraph对象,则将dygraphs存储在Object映射中:
var gs = {};
for (...) {
gs[json.id] = new Dygraph("trend_" + json.id, data,
{
... some options specified here
});
}
// ....
gs[json.id].updateOptions({...});