【问题标题】:Passing a value from a dropdown to eventListner将下拉列表中的值传递给事件监听器
【发布时间】:2020-10-01 14:12:14
【问题描述】:

所以我正在使用 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

【问题讨论】:

    标签: javascript charts amcharts amcharts4


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      好的,我想通了。

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

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

      【讨论】:

        猜你喜欢
        • 2016-01-17
        • 2012-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-26
        • 1970-01-01
        • 2012-03-17
        相关资源
        最近更新 更多