Да
$(function () {
var dataPoints; // Чему то сначала равна?
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "title"
},
axisY: {
title: "Y",
},
axisX: {
title: "X"
},
data: [{
dataPoints: dataPoints,
}
]
});
chart.render(); //работает - сразу.
var input = document.getElementById('elem');
input.onclick = function (e) {
e.preventDefault();
$.getJSON("file.json", function(data) {
$.each(data, function(key, value){
dataPoints.push({label: value['title'], y: parseInt(value['y']) , indexLabel: '{y}'});
});
chart.destroy(); // УДАЛЯЕМ КАК ТО
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "title"
},
axisY: {
title: "Y",
},
axisX: {
title: "X"
},
data: [{
dataPoints: dataPoints,
}
]
});
chart.render();
});
}
});