【发布时间】:2016-12-21 09:07:39
【问题描述】:
我使用的是谷歌饼图,当用户点击它时,图表上的数据应该会显示出来。我尝试使用下面的代码,但它给了我一个错误无法读取属性 getValue。
我尝试显示 selectedItem.row 值,它工作正常,但 data.getValues 没有从图表中获取任何所需的值。
google.load('visualization', '1', {'packages':['corechart','table']});
google.charts.load('current', {'packages':['corechart']});
google.setOnLoadCallback(drawItems(num));
var data;
var chart;
// Load the Visualization API and the piechart,table package.
google.load('visualization', '1', {'packages':['corechart','table']});
google.charts.load('current', {'packages':['corechart']});
google.setOnLoadCallback(drawItems(num));
var data;
var chart;
function drawItems(num)
{
var jsonPieChartData = $.ajax({
url: "getpiechartdata.php",
data: "q="+num,
dataType:"json",
async: false,
}).responseText;
var piechartdata = new google.visualization.DataTable(jsonPieChartData);
var options = {
width: 700,
height: 200,
is3D: true,
chartArea: { left:"5%",top:"5%",width:"90%",height:"90%" }
};
// Instantiate and draw our pie chart, passing in some options.
var chart = new
google.visualization.PieChart(document.getElementById('chart_div'));
function selectHandler() {
try
{
var selectedItem = chart.getSelection()[0];
if (selectedItem) {
var topping = data.getValue(selectedItem.row, 0);
alert('The user selected ' + topping);
}
}
catch (err)
{
alert(err.message);
}}
chart.draw(piechartdata, options);
google.visualization.events.addListener(chart, 'select',
selectHandler);
}
【问题讨论】:
-
这不是 PHP 或 MySQL。这是Javascript。
-
您从未将任何内容分配给变量
data。你期望data.getValue()会返回什么? -
嗨,Barmar,我不确定您是否与我走在正确的轨道上。请在下面找到谷歌图表的链接developers.google.com/chart/interactive/docs/…。
标签: javascript google-visualization pie-chart