Вот основной способ, которым вы можете использовать Highcharts и jQuery для заполнения ячеек вашей HTML-таблицы данными из вашего графика.
Во-первых, мы хотим установить строку-заполнитель в вашей таблице, где мы будем заполнять данные. Я дал этой строке идентификатор RowToFill
, чтобы мы могли ссылаться на него в Javascript.
HTML:
<div id="container" style="height: 400px"></div>
<table id="dataTable">
<thead>
<tr>
<th>First Column</th>
<th>Second Column</th>
<th>Third Column</th>
</tr>
</thead>
<tbody>
<tr id="RowToFill">
</tr>
</tbody>
</table>
Далее, мы пройдемся по данным диаграммы и добавим ячейки таблицы в нашу строку заполнителя, используя функцию jQuery append()
.
Javascript:
/* set the chart to a variable so you can get to the data later */
var thisChart = Highcharts.chart('container', {
chart: {
type: 'bar'
},
xAxis: {
categories: ['A', 'B', 'C']
},
series: [{
data: [100,200,300]
}]
});
/* go through each item in the chart series */
$(thisChart.series[0].data).each(function( index ) {
/* add a table cell to the row where it should go */
$('#RowToFill').append('<td>' + this.y + '</td>');
});
Вот рабочая скрипка с этим решением: http://jsfiddle.net/brightmatrix/5ad8fgzp/
Чтобы сделать это более гибким, вы можете изменить эту функцию, чтобы сначала выполнить список категорий оси x, чтобы создать строку заголовка таблицы. Это приведет к тому, что количество ячеек в строке тела таблицы будет соответствовать количеству точек данных на диаграмме.
Надеюсь, это полезно для вас.