Я использую библиотеку JavaScript DataTables для визуализации некоторых таблиц, показывающих отдельные результаты турниров по стрельбе из лука. Пример этого можно найти здесь: http://www.archerytoolkit.net/maast/individual_results.php?p=1
Вы можете увидеть маленькую графику рассеяния на странице. Те ссылки на другой сайт, где я представляю данные из таблицы в графиках. Верхний, который следует за "Индивидуальными результатами для Тима Уилсона", работает отлично. Я также хотел бы связать графику со страницей, которая идет непосредственно к результатам каждого раунда стрельбы из лука. Эти URL имеют форму:
http://www.archerytoolkit.net/maast/individual_results.php?p=1&r=1
Я добавил функцию рендеринга в часть rowGroup javascript DataTables, но не могу понять, как получить доступ к данным, которые существуют в самих строках. У каждой строки в данных есть элемент под названием round_id, который является номером, который мне нужно включить в URL-адрес выше (часть «r =»). Каждая строка в группе будет иметь одинаковый round_id.
$(document).ready( function () {
$("#individual_results").DataTable( {
ajax: "./js/individual_results-json.php?p=<?=$person_id?>",
columns: [
{"data": "round_id"},
{"data": "round"},
{"data": "division"},
{"data": "score"},
{"data": "x_count"},
{"data": "event_date"},
{"data": "event_name"}
],
columnDefs: [
{
targets: [0, 1, 4],
visible: false
},
{
targets: 2,
render: function ( data, type, full, meta ) {
return '<a href="./individual_rankings.php?r='+full.round_id+'&d='+encodeURIComponent(data)+'">'+data+'</a>';
}
},
{
targets: 3,
className: "dt-body-center",
render: function ( data, type, full, meta ) {
if (full.x_count === null) {
return data;
} else {
return data+' '+full.x_count+'X';
} }
},
{
targets: 5,
className: "dt-body-center"
}
],
rowGroup: {
startRender: function ( rows, group ) {
return group+' <a href="http://archerytoolkit.net/shiny/maast-dashboard/?p=<?=$person_id?>"><img src="./i/scatterplot_blk.png" height="15" width="15" /></a></h1>';
},
dataSrc: "round"
},
responsive: false,
fixedHeader: true,
paging: true,
pageLength: 25,
ordering: false,
info: true,
searching: true
} );
} );
Таким образом, функция рендеринга должна возвращать что-то вроде этого:
return group+' <a href="http://archerytoolkit.net/shiny/maast-dashboard/?p=<?=$person_id?>&r='+[[INSERT ROUND_ID HERE]]+'"><img src="./i/scatterplot_blk.png" height="15" width="15" /></a></h1>';
Как получить доступ к элементам данных из функции визуализации rowGroup?