繁体   English   中英

函数中带有Jquery的Google饼图用法?

[英]Google Pie chart usage with Jquery inside a function?

我想在jquery中使用Google饼图,并希望根据条件生成图表。

google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
var options = {title: 'Sample Chart'};
function drawChart() {
    var data1 = new google.visualization.DataTable();
    data1.addColumn('string', 'col1');
    data1.addColumn('number', 'col2');
    data1.addRow(["sample", 12]);
    data1.addRow(["sample", 24]);
    var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
    chart.draw(data1, options);
}

jQuery函数

$.each(result, function(index) {
    $("#tableContents").append("some html generation");
});

我希望data1在Jquery循环期间准备好并在函数末尾绘制。 我看到如果我在函数drawchart之外取出代码的data1部分(如下所示),则会得到

在控制台日志中,

无法读取未定义错误的属性“ DataTable”

我从drawChart()中删除了代码的data1部分,

var data1 = new google.visualization.DataTable();
data1.addColumn('string', 'col1');
data1.addColumn('number', 'col2');
data1.addRow(["sample", 12]);
data1.addRow(["sample", 24]);

请帮助,在此先感谢。

您可以像这样将结果解析到DataTable中:

function drawChart() {
    var data1 = new google.visualization.DataTable();
    data1.addColumn('string', 'col1');
    data1.addColumn('number', 'col2');

    $.each(result, function(index) {
        $("#tableContents").append("some html generation");
        // assumes results[index] has "col1Value" and "col2Value" properties
        data1.addRow([results[index].col1Value, results[index].col2Value]);
    });

    var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
    chart.draw(data1, options);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM