编辑:
我已经修复了代码,以便回调函数在函数外部调用drawChart
,实际上它可以在按钮点击时工作。但是,我发生了两件事,只需点击一下按钮即可。
我使用$.get
来获取已加载到数组服务器端(nodejs)的数据,然后将此数据的响应发送到饼图。我在命令提示符内或浏览器内的控制台上没有收到任何错误,因此我不知道为什么两个.click
操作都没有触发。
首先,饼图不起作用,但后来我调整它以使图表在按钮点击时在正确的时间绘制,现在图表工作,但不是其他动作。
此外,按钮点击是否无法有多个$.get
请求?我没有在下面的代码中完全实现它,但我最终试图这样做。
(在第一次请求时,我向客户端javascript发送一系列推文进行解析,第二次请求我将一组其他分析数据发送到客户端javascript以放入饼图可视化中)
以下是一些代码:
$("#startButton").click(function() {
$.get( "/startButton", success);
function success(data){ ... code inside creates html for 2 divs..., has been working }
});
function drawChart() {
var data = google.visualization.arrayToDataTable(
//chartData);
[
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'Retweets versus Original Tweets'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
}
function initialize() {
$('#startButton').click(function() {
drawChart();
});
}
google.setOnLoadCallback(initialize);
google.load("visualization", "1", {packages:["corechart"]});
答案 0 :(得分:0)
根本没有调用函数drawChart()
。这应该有效:
// $(document).ready(function() {
google.load("visualization", "1", {packages:["corechart"]});
function drawChart() {
var data = google.visualization.arrayToDataTable(
//chartData);
[
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'Retweets versus Original Tweets'
};
var chart = new google.visualization.PieChart(document.getElementById('piechart'));
chart.draw(data, options);
//google.setOnLoadCallback(drawChart);
}
google.setOnLoadCallback(drawChart);
//});