Я пытаюсь реализовать функцию дочерних строк для отображения дополнительных столбцов, извлеченных из электронной таблицы Google, в базовую таблицу данных, которую я настроил с помощью комбинации сценариев Datatables, Tabletop и Bootstrap, упакованных на github.Этот базовый набор данных работает и работает без ошибок.
Я создал дубликат html-страницы и JS-файла и изменил код для реализации дочерних строк в соответствии со справочной страницей Datatable.Html-страница находится здесь: https://www.socialtheorywatch.org/database2.html Если вам нужно увидеть оригинальный базовый работающий код данных, просто удалите 2
из URL.
Консоль браузера Google Chrome и JShint продолжают выдавать Unmatched {
в строке 73 моего кода $(document).ready(function() {
.Полный список ошибок JShint выглядит следующим образом:
Четыре предупреждения 127 Ожидается идентификатор, и вместо этого он увидел ')'.127 Ожидал присваивания или вызова функции и вместо этого увидел выражение.73 Непревзойденный '{'.128 Неустранимая синтаксическая ошибка.(Сканировано на 100%).
До проблемы с синтаксической ошибкой у меня была хорошо составлена таблица с успешно отрисованным столбцом открытия / закрытия, но функция onClick не выявляла дочерние строки.Я разместил эту проблему на форуме Datables, и они помогли мне переместить функцию onClick в нижнюю часть функции writeTable, удалив закрытую фигурную скобку '}' из строки прямо перед ней.Но теперь я получаю синтаксические ошибки и безуспешно добавляю / удаляю / переставляю все виды скобок везде.
$(document).ready(function() {
function initializeTabletopObject() {
Tabletop.init({
key: key,
callback: function(data, tabletop) {
writeTable(data); //call up datatables function
},
simpleSheet: true,
debug: false });
}
initializeTabletopObject();
function writeTable(data) {
//select main div and put a table there
//use bootstrap css to customize table style: http://getbootstrap.com/css/#tables
$('#childRowTest').html(
'<table cellpadding="4" cellspacing="4" border="1" class="table table-condensed table-bordered table-striped table-hover table-responsive" id="wrongfulConvictionDBSA"></table>'
);
//initialize the DataTable object and put settings in
$("#wrongfulConvictionDBSA").DataTable({
"autoWidth": false,
"data": data,
"columns": columns,
"order": [
[7, "desc"]
], //order on second column
"pagingType": "simple_numbers" //'Previous' and 'Next' buttons, plus page numbers
//"pageLength": 50
//"lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ]
//uncomment these options to simplify your table
//"paging": false,
//"searching": false,
//"info": false
});
// Add event listener for opening and closing details
$('#wrongfulConvictionDBSA tbody').on('click', 'td.details-control', function () {
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child( format(row.data()) ).show();
tr.addClass('shown');
}
});
});
//end of writeTable
Я ищу решение синтаксических ошибок.