Все,
Я пытаюсь изменить переменную 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 }
}
});
Я не знаю, что делаю не так ... нужна помощь.
Я добавил диаграмму. Я пытаюсь изменить массив chartdata на основе щелчка, поэтому диаграмма обновляется динамически на основе <a> </a>, по которому щелкнули.
Кроме того, я не думаю, что «значение» допустимо для элемента привязки.
Я пробовал использовать кнопку, она тоже не сработала, стоит ли использовать ее в div?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Значение ввода - это просто строка, она не оценивается автоматически как переменная. Если вы хотите получить доступ к данным с использованием строкового имени, вы должны поместить его в объект, имена свойств которого являются строками.
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
}
Я не вижу там диаграммы ...?