将值从下拉列表传递到eventListner

时间:2020-10-01 14:12:14

标签: javascript charts amcharts amcharts4

所以我正在使用AMCharts,并且试图将数据集从一组数据更改为另一组。

我正在使用EventListner调用我的函数。

所以在我的html中,我有以下内容:

 <select id="data">
    <option value="set1">Institutional Design</option>
  <option value="set2">Effective </option>
  </select>

在我的Javascript中,我有以下内容:

document.getElementById("data").addEventListener("change", selectDataset);


      function selectDataset(set) {
        var x = document.getElementById("data");
  x.value = data[set];
}

   // Add data
chart.data = data.set1;

因此,当图表第一次加载时,默认情况下会将data.set1添加为图表数据。当我将其更改为“有效性”(set2)时,所有行均消失。显然我没有在这里传递值。

这是Codepen:https://codepen.io/shopmaster/pen/GRZaewZ

2 个答案:

答案 0 :(得分:0)

我相信事件监听器会自动将事件传递给函数,但是selectDataset()需要一个选项值。您的变量set实际上是事件,因此您需要从事件目标中获取实际值。

答案 1 :(得分:0)

好,所以我知道了。

我需要抓住我没有这样做的价值,这就是它的外观:

document.getElementById("data").addEventListener("change", selectDataset);


      function selectDataset(set) {
        var set = document.getElementById("data").value;
  chart.data = data[set];
}