Google Visualization Chart会在选择事件数据上发出警报

时间:2012-03-13 16:11:20

标签: javascript jquery events google-api google-visualization

我正在尝试使用Google视觉化列图表在选择特定列时简单地发出警报。 IE浏览器。当选择Company1的列数据时,我想做某事(抛出警报):

      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Date');
        data.addColumn('number', 'Company1');
        data.addColumn('number', 'Company2');
        data.addColumn('number', 'Company3');
        data.addColumn('number', 'Company4');
        data.addColumn('number', 'Company5');
        data.addColumn('number', 'Company6');
        data.addRows([
          ['Feb 1, 2012 - Mar 13, 2012', 10, 10, 5, 15, 10, 55]

        ]);

        var options = {
          title: 'Total Reviews',
          hAxis: {title: '',  titleTextStyle: {color: 'blue'}}
        };

        var chart = new google.visualization.ColumnChart(document.getElementById('total'));
        chart.draw(data, options);

google.visualization.events.addListener(chart, 'select', function() {
 //SOMETHING GOES HERE WHEN ie. Company1 is selected, probably an IF but I cant seem to let it know when Company1 is selected.
 alert('Company1 was selected!');       

}

1 个答案:

答案 0 :(得分:3)

您必须调用getSelection函数才能检索当前选择。选择是一个对象数组。每个对象都有行和列属性(如果有)。使用第一列检索标签名称:

google.visualization.events.addListener(chart, 'select', function() {
  var selection = chart.getSelection()[0];
  var label = data.getColumnLabel(selection.column);

  if (label === "Company1"){
    alert("!");
  }
});

Documentation(点击链接阅读更多内容):

  

selection_array:所选对象的数组,每个对象描述一个   用于创建可视化的基础表中的数据元素   (DataView或DataTable)。每个对象都有属性行和/或   列,包含所选项的行和/或列的索引   在底层的DataTable中。如果row属性为null,则为   选择是一个列;如果列属性为null,那么   选择是一排;如果两者都是非null,则它是特定数据   项目。您可以调用DataTable.getValue()方法来获取值   所选项目。检索到的数组可以传入   为setSelection()