我試圖在儀表板中實現可點擊的圖表。用戶將根據點擊的餅圖部分重定向到不同的網頁。但是,當我在ChartWrapper對象中使用getChart()時,chartObject爲NULL。從ChartWrapper中拔出DataTable沒有問題。ChartWrapper.getChart()返回null
我試着在我的代碼中'select'事件之前使用'ready'事件,但仍然得到NULL。有什麼建議?
您可以嘗試代碼here
// Define a Pie chart 3
pie3 = new google.visualization.ChartWrapper({
'chartType': 'PieChart',
'containerId': 'chart3',
'options': {
//'width': 400,
'height': 300,
'legend': {'position':'right', 'textStyle': {fontSize: 9}},
'title': 'Audit Type',
'chartArea': {'left': 80, 'top': 30, 'right': 0, 'bottom': 0, 'height':300, 'widith':200},
'pieSliceText': 'value',
'slices': {0: {color: '#9fbfdf'}, 1: {color: '#6699cc'}, 2: {color: '#3973ac'}, 3: {color: '#738b28'}, 4: {color: '#a4c639'}, 5: {color: '#bfd774'}},
'fontSize': 11
},
// from the 'data' DataTable.
'view': {'columns': [6]}
});
google.visualization.events.addListener(pie3, 'ready', onReady);
// Create a dashboard
new google.visualization.Dashboard(document.getElementById('dashboard')).
// Establish bindings, declaring the both the slider and the category
// picker will drive both charts.
bind([yearPicker, slider2, categoryPicker], [pie, pie2, pie3]).
// Draw the entire dashboard.
draw(data);
function onReady() {
google.visualization.events.addListener(pie3.getChart(), 'select', handler);
}
function handler() {
chartObject = pie3.getChart().getSelection();
alert(chartObject);
}
}
google.setOnLoadCallback(drawVisualization);
我會根據您的代碼要一把小提琴,它的工作原理:http://jsfiddle.net/asgallant/hKj7g/。你可以用完整的JavaScript代碼或jsfiddle鏈接更新你的帖子,以演示他們的問題嗎? – asgallant
我用我的完整代碼更新了你的jsfiddle。你可以嘗試點擊第三個餅圖。它返回null。 –
什麼是新的jsfiddle鏈接? – asgallant