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>');
Другие вопросы по тегам