Google visualization 谷歌可视化-选择带有仪表板的事件

Google visualization 谷歌可视化-选择带有仪表板的事件,google-visualization,Google Visualization,我正在用GoogleViz创建一个仪表板,当数据被过滤时,select事件会出现问题。当页面加载且未过滤任何内容时,它工作正常。但是,在过滤数据后,它不会从“选择”事件的dataTable中选择正确的行。以下是我的JSFIDLE和我的听众: 未过滤时,警报框显示所选学校。但是,当在学校上进行筛选时,警报框不会显示正确的学校(空军基地Elem例外,因为它是列表中的第一所学校) 如何在数据过滤后获得正确的数据行?谢谢。选择索引指的是图表显示的数据,它不一定与基本数据表相同,因此您需要通过调用get

我正在用GoogleViz创建一个仪表板,当数据被过滤时,select事件会出现问题。当页面加载且未过滤任何内容时,它工作正常。但是,在过滤数据后,它不会从“选择”事件的dataTable中选择正确的行。以下是我的JSFIDLE和我的听众:

未过滤时,警报框显示所选学校。但是,当在学校上进行筛选时,警报框不会显示正确的学校(空军基地Elem例外,因为它是列表中的第一所学校)


如何在数据过滤后获得正确的数据行?谢谢。

选择索引指的是图表显示的数据,它不一定与基本数据表相同,因此您需要通过调用
getDataTable
方法获取图表的数据,然后在获取值时引用该方法来对照图表使用的数据:

google.visualization.events.addListener(rBubbleChart, 'select', function() {
    var selection = rBubbleChart.getChart().getSelection();
    // get the data used by the chart
    var dt = rBubbleChart.getDataTable();
    // test selection array length, since it can be zero when a user deselects a point!
    if (selection.length) {
        var item = selection[0];
        var school = dt.getValue(item.row, 1);
        alert('school is: ' + school);
    }
});
google.visualization.events.addListener(rBubbleChart, 'select', function() {
    var selection = rBubbleChart.getChart().getSelection();
    // get the data used by the chart
    var dt = rBubbleChart.getDataTable();
    // test selection array length, since it can be zero when a user deselects a point!
    if (selection.length) {
        var item = selection[0];
        var school = dt.getValue(item.row, 1);
        alert('school is: ' + school);
    }
});