Изменить Javascript Var в элементе onclick

Все,

Я пытаюсь изменить переменную 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 }
            }
        });

Я не знаю, что делаю не так ... нужна помощь.

Я не вижу там диаграммы ...?

CertainPerformance 04.05.2018 23:52

Я добавил диаграмму. Я пытаюсь изменить массив chartdata на основе щелчка, поэтому диаграмма обновляется динамически на основе <a> </a>, по которому щелкнули.

Gabriel Motta 05.05.2018 00:05

Кроме того, я не думаю, что «значение» допустимо для элемента привязки.

Vasan 05.05.2018 00:08

Я пробовал использовать кнопку, она тоже не сработала, стоит ли использовать ее в div?

Gabriel Motta 05.05.2018 00:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
30
1

Ответы 1

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

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
}

Другие вопросы по теме