API Google Charts: новый google.visualization.Table () - ошибка типа Uncaught: ошибка undefined не является функцией - PullRequest
10 голосов
/ 06 августа 2011

Я скопировал пример кода Google в скрипт php, однако я получаю сообщение об ошибке "undefined не является функцией"

это происходит именно в этой строке:

var table = new google.visualization.Table (document.getElementById ('table_sort_div'));

Возможно, функция Table не существует ???

Я скопировалкод непосредственно из примеров кода Googles, поэтому я не могу понять, что я сделал неправильно ... Я склонен полагать, что с примером есть проблема, но я предполагаю, что сделаю ошибку, прежде чем Google будет?

Код был скопирован напрямую с: http://code.google.com/apis/chart/interactive/docs/examples.html#interaction_example

Ответы [ 3 ]

10 голосов
/ 06 августа 2011

Вам нужно дождаться загрузки скриптов. Например:

  // Load the Visualization API and the piechart package.
  google.load('visualization', '1.0', {'packages':['table']});

  // Set a callback to run when the Google Visualization API is loaded.
  google.setOnLoadCallback(drawChart);

  function drawChart() {
       var table = new google.visualization.Table(document.getElementById('table_sort_div'));
  }

должно работать, потому что скрипты были загружены. Лучшая ссылка на таблицу здесь

4 голосов
/ 11 июня 2015

Также, если вы хотите загрузить несколько пакетов, вы можете сделать это так:

 google.load('visualization', '1', { packages: ['corechart', 'table'] });
0 голосов
/ 10 апреля 2018
    google.charts.load('current', {'packages': ['table']});
    google.charts.setOnLoadCallback(drawTable);

    function drawTable() {

      var data = new google.visualization.DataTable();
      data.addColumn('string', 'Name');
      data.addColumn('number', 'Salary');
      data.addColumn('boolean', 'Full Time');
      data.addRows(5);
      data.setCell(0, 0, 'John');
      data.setCell(0, 1, 10000, '$10,000');
      data.setCell(0, 2, true);
      data.setCell(1, 0, 'Mary');
      data.setCell(1, 1, 25000, '$25,000');
      data.setCell(1, 2, true);
      data.setCell(2, 0, 'Steve');
      data.setCell(2, 1, 8000, '$8,000');
      data.setCell(2, 2, false);
      data.setCell(3, 0, 'Ellen');
      data.setCell(3, 1, 20000, '$20,000');
      data.setCell(3, 2, true);
      data.setCell(4, 0, 'Mike');
      data.setCell(4, 1, 12000, '$12,000');
      data.setCell(4, 2, false);

      var table = new google.visualization.Table(document.getElementById('table_div'));
      table.draw(data, {showRowNumber: true, width: '100%', height: '100%'});

      google.visualization.events.addListener(table, 'select', function () {
        var row = table.getSelection()[0].row;
        alert('You selected ' + data.getValue(row, 0));
      });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...