Изменить Javascript Var на элементе по клику - PullRequest
0 голосов
/ 05 мая 2018

Все,

Я пытаюсь изменить переменную Javascript, которую я использую для заполнения данных на диаграмме, основываясь на щелчке элемента, похоже, он не работает. Кто-нибудь может помочь?

У меня есть переменная ниже, я хочу использовать массив ниже на моем графике всякий раз, когда я щелкаю HTML-элемент.

var monthActualLWDC = [12,54,65,74,23,47,75,23,57,65,45,33] 

Элемент

<a id="btn2" onclick="changeTheVariable()" value="monthActualLWDC" class="ui labeled button"></a>

Функция

  function changeTheVariable() {
     var chartdata = document.getElementById("btn2").value;
  }

Поэтому, когда подключите "chartdata" к графику, он должен отобразить "monthActualLWDC"

 new Chart(document.getElementById("mixed-chart"), {
            type: 'bar',
            data: {
              labels: ["Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "YTD", "P.FY"],
              datasets: [{
                  label: "Month Actual",
                  type: "line",
                  borderColor: "#002db3",
                  data: chartdata,
                  fill: false
                }, {
                  label: "Prev. Y. Month Actual",
                  type: "line",
                  borderColor: "#000d33",
                  data: monthActualPYLWD,
                  fill: false
                }, {
                  label: "Goal",
                  type: "line",
                  borderColor: "#e60000",
                  data: goalLWD,
                  fill: false
                }, {
                  label: "YTD & P.Fiscal Year",
                  type: "bar",
                  backgroundColor: "rgba(0,0,0,0.5)",
                  data: ytdpfyLWD,
                },
              ]
            },
            options: {
              title: {
                display: true,
                text: 'CDC - Champaign Distribution Center - KPI'
              },
              legend: { display: true }
            }
        });

Я не знаю, что я делаю неправильно ... нужна помощь.

1 Ответ

0 голосов
/ 05 мая 2018

Значение ввода является просто строкой, оно не оценивается автоматически как переменная. Если вы хотите получить доступ к данным, используя строковое имя, вы должны поместить его в объект, имена свойств которого являются строками.

var myData = {
    monthActualLWDC = [12,54,65,74,23,47,75,23,57,65,45,33]
}

Затем вы можете использовать значение в качестве индекса для объекта:

function changeTheVariable() {
    var chartdata = mYData[document.getElementById("btn2").value];
    // code here that uses chartdata to display the chart
}
...