我的代码一直到https://jsfiddle.net/sbLgktm2/6/
中显示的当前状态我想一次只显示一张图表。单击下拉项目1后,会出现一个条形图,如果我单击下拉项目2,我想删除为项目1绘制的条形图,并仅绘制项目2的条形图。但是,控制台一直在返回"数据未定义"对于我的jsfiddle代码的第36行,javascript,如下所示
var chartData = data[$(currentTarget).data('id')]
希望能够与我分享错误的人。通过我的双数组分配数据应该没有任何问题,因为在我添加js行20,31,41-46之前可以绘制图表。
其他信息:我的下拉列表是动态生成的。我的x轴和y轴数据都会针对每个事件发生变化。这里使用Bootstrap 3和chart.js v2。
答案 0 :(得分:0)
您的代码中定义的doublearrx
和doublearry
在哪里?您收到错误是因为您没有从example复制data
数组。
保留在我的内容中,此示例只是演示如何执行您所关注的概念(实际上无法复制和粘贴,因为您从未共享生成doublearrx
和{{{ 1}}数组)。
基本上,您只需要一种方法将每个下拉项目映射到可用于生成新数据阵列的内容(也许您可以使用doublearry
...或者您已经在使用它办法)?无论是什么,都将其存储在每个下拉项数据属性中。
eventnumber
然后,在单击时从所选下拉项中提取该数据(或者您已经在执行此操作)。
var li = document.createElement("li");
li.dataset.eventNumber = eventNumber;
使用它来获取新标签和数据(x和y数据)并更新图表。这是关键部分,因为它显示了如何更改图表中的数据。
var eventNumber = $(e.currentTarget).data('eventNumber');