【问题标题】:Cannot read property getValue of Undefined - Google Piechart无法读取未定义的属性 getValue - Google Piechart
【发布时间】: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


【解决方案1】:

getValuegoogle.visualization.DataTable 对象的一个​​方法。您将它分配给变量piechartdata,而不是data,所以它应该是:

var topping = piechartdata.getValue(selectedItem.row, 0);

请参阅您链接到的文档页面上的 Hello Charts 示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2020-04-06
    • 2020-10-30
    • 2019-10-09
    相关资源
    最近更新 更多