drawBarChart = function (data) {
//few statements goes here which sets options which are being passed to chartDraw i.e. t.options.chart.options
gChart = new google.visualization.BarChart(chartingPlace);
//setTimeout(function () {
// t.options.chart.options.height = ((t.chart.size.height) - 40) + "px";
////console.log(JSON.stringify(t.options.chart.options));
//google.visualization.events.addListener(gChart, 'ready', function () {
// grab a few details before redirecting
google.visualization.events.addListener(gChart, 'select', function () {
var selectedItem = gChart.getSelection()[0];
console.log(gChart.getSelection());
if (selectedItem) {
var topping = data.getValue(selectedItem.row, 0);
alert('The user selected ' + topping);
}
// });
});
gChart.draw(data, t.options.chart.options);
}
我的应用程序具有针对不同方案显示的许多图表。我的要求是,单击谷歌条形图中的条形,然后打开与条形名称关联的新选项卡。为此,我尝试在条形图上使用直接的"选择"事件,如下所示:
google.visualization.events.addListener(gChart, 'select', function () {
var selectedItem = gChart.getSelection()[0];
console.log(gChart.getSelection());
if (selectedItem) {
var topping = data.getValue(selectedItem.row, 0);
alert('The user selected ' + topping);
}
});
但是我无法得到,这为 gChart.getSelection(( 返回了空数组,所以我尝试了上面第一个代码中提到的带有"ready"事件的代码。它有效,但输出不一致。有时它给出空数组,有时给出选定的对象。
我仍然无法找到为什么它表现出这种行为
更多信息:我的应用程序有不同的选项卡,在其上显示条形图、折线图、面积图、组合图的数量。 getSelection(( 适用于折线图,但无法获得与条形一致的输出。
任何帮助都是可观的。
请不要将其标记为重复,因为我经历了其他类似的问题,但它们没有回答我的问题,我没有该特权,所以我无法在要求更多澄清的回复中发表评论。类似的问题在这里:谷歌可视化-条形图上的点击事件是堆叠的:真
请帮忙!
提前谢谢你!
更新:我无法从这里得到任何答案或任何回应。这真的非常令人失望。
解决方案:这就是我如何解决这个问题的方法:getSelect 无法为我工作,所以我尝试在条形文本上单击事件。通过单击事件,我可以在栏上获取文本并将其链接到opn新选项卡。
如果有人需要代码解决方案,请告诉我。
谢谢。
请浏览下面的代码片段,我更正了,或者你可以说以不同的方式组织代码。如果您需要进一步的解释,请告诉我。
google.visualization.events.addListener(googleChartObj, 'select', function () {
var selectedBar = googleChartObj.getSelection();
////console.log(selectedBar);
data.getRowLabel(selectedBar[0].row);
/// for Bar charts, normally row-parameters are used
/// manipulate on 'data' which refers to data-table to get desired results
});