Dynatable не работает с динамическими заголовками HTML
Я создал Dynatable, я динамически создал заголовки таблиц. Dynatable выдает ошибку при запуске, так как не может найти заголовки в HTML.
ОШИБКА: необработанная ошибка: не удалось найти заголовки столбцов в 'thead tr th,td'. Если строка заголовка отличается, укажите селектор в параметре table: headRowSelector.
СМОТРИТЕ СКИДКУ: https://jsfiddle.net/0ycqnaxg/6/
Это работает несколько, если HTML содержит:
Рабочая СКИДКА: https://jsfiddle.net/0ycqnaxg/9/
<thead>
<th>FirstName</th>
<th>LastName</th>
</thead>
Но я оставил thead пустой, чтобы позволить динамическое создание.
2 ответа
По какой-то причине Dynatable использует 'thead tr' в качестве headRowSelector, когда заголовки создаются динамически, и он ищет 'th' в соответствии с этим. Простое решение - явно указать "thead" в качестве headRowSelector.
$('#my-table').dynatable({
table: {
headRowSelector:'thead',
},
dataset: {
records: columns
}
});
Я перешел на использование Datatables. Это решение для меня, просто не точное решение этого вопроса. Для дальнейшего использования, datatables позволяет вам динамически создавать заголовки на основе массива заголовков столбцов;
$('#example thead tr,tfoot tr').append('<th>' + value + '</th>');