我正在尝试制作一个 Google 图表,从网页上的隐藏字段中提取数据。
如果我直接通过 data.addRows 添加数据,它工作正常:
google.charts.load('current', {packages: ['corechart', 'line']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Rainfall');
data.addRows([[new Date(2000, 8, 5), 56], [new Date(2000, 8, 6), 22], [new Date(2000, 8, 7), 44], [new Date(2000, 8, 8), 40], [new Date(2000, 8, 9), 62]]);
var options = {
title: 'Rainfall'
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
但是,如果我尝试创建一个包含数组的字符串,然后使用 addRows 添加它,它将不起作用:
google.charts.load('current', {packages: ['corechart', 'line']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Rainfall');
var myData = "[[new Date(2000, 8, 5), 56], [new Date(2000, 8, 6), 22], [new Date(2000, 8, 7), 44], [new Date(2000, 8, 8), 40], [new Date(2000, 8, 9), 62]]"
data.addRows(myData);
var options = {
title: 'Rainfall'
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
如何将字符串中的数据添加到DataTable中?
JSFiddle:https://jsfiddle.net/oo5w6ghf/4/
最佳答案
弄清楚了 - 我需要在字符串中添加“eval”:
var myData = eval("[[new Date(2000, 8, 5), 56], [new Date(2000, 8, 6), 22], [new Date(2000, 8, 7), 44], [new Date(2000, 8, 8), 40], [new Date(2000, 8, 9), 62]]")
关于javascript - 如何从包含数组的字符串向 Javascript DataTable 添加行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36724760/