2014-01-28 2 views
0

Здесь у меня есть таблица: http://jsbin.com/IhEmetI/8 построен с API визуализации Google и вот код: http://jsbin.com/IhEmetI/8/editПолучить данные из строки таблицы по щелчку

КОД:

var table = new google.visualization.ChartWrapper({ 
      'chartType': 'Table', 
      'containerId': 'chart2', 
      'cssClassNames': 'cssClassNames', 
      'options': { 
     cssClassNames: cssClassNames, 
     allowHtml: true 
    } 
     }); 

     // 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([slider, categoryPicker, stringFilter], [pie, table], [stringFilter, table]). 
      // Draw the entire dashboard. 
      draw(data, {'allowHtml':true, 'cssClassNames': 'cssClassNames'});  } 

Теперь я хочу, чтобы получить строку данных, когда Я нажимаю на строку таблицы? Как я могу это сделать?

Как я могу это сделать с помощью javascript? Есть ли какая-нибудь функция в google API для этого?

ответ

1

Для таблицы нужно использовать обработчик 'select'. Работа с ChartWrapper, синтаксис для этого немного отличается от обычного (поскольку вы должны обернуть обработчик события для таблицы внутри обработчика события 'ready' для обертки). Он работает следующим образом:

google.visualization.events.addListener(table, 'ready', function() { 
    google.visualization.events.addListener(table.getChart(), 'select', function() { 
     var selection = table.getChart().getSelection(); 
     // iterate over all selected rows 
     for (var i = 0; i < selection.length; i++) { 
      // do something with selection[i].row 
     } 
    }); 
}); 

Вы должны перебирать все выбранные строки, так как пользователи могут выбирать несколько строк из таблицы.

+0

ОК, я реализую это в своем коде: google.visualization.events.addListener (таблица, 'ready', function() { google.visualization.events.addListener (table.getChart(), 'ready', function() { var selection = table.getChart(). GetSelection(); // перебирать все выбранные строки для (var i = 0; i MikiMrki

+1

Вам нужно добавить обработчики событий после создания «Table» ChartWrapper и перед тем, как нарисовать панель. – asgallant

+0

yes Я добавляю здесь, но как показать значения из строки в поля ввода, чтобы пользователи могли изменять значения во вводе и обновлять базу данных ... также теперь я получаю сообщение об ошибке в консоли: Uncaught ReferenceError: таблица не определена – MikiMrki

Смежные вопросы