2015-03-23 2 views
4

Я создал Dynatable, я динамически создавал заголовки таблиц. Dynatable дает ошибку при запуске, поскольку он не может найти заголовки в HTML.Dynatable сломался с динамическими заголовками HTML

ERROR:Uncaught Error: Couldn't find any columns headers in 'thead tr th,td'. If your header row is different, specify the selector in the table: headRowSelector option.

SEE FIDDLE: https://jsfiddle.net/0ycqnaxg/6/

Это работает несколько, если HTML содержит:

Рабочая скрипку: https://jsfiddle.net/0ycqnaxg/9/

<thead> 
    <th>FirstName</th> 
    <th>LastName</th> 
    </thead> 

Но я оставил THEAD пустым, чтобы позволить динамическое создание.

+0

Если вы заполнили таблицу, вы получите ту же ошибку? – Deepak

+0

Да, он отлично работает, см. Обновленную рабочую скрипку выше – platinums

+0

Причина, по которой здесь находится https://github.com/alfajango/jquery-dynatable/blob/master/jquery.dynatable.js#L447 Он рассчитывает, что сможет вычислить '$ columns.length' в противном случае он выдает ошибку – Deepak

ответ

2

По какой-то причине, Dynatable использует «THEAD тр» как headRowSelector, когда заголовки создаются динамически и он ищет «й» при этом. Простое решение - явно указать «thead» как headRowSelector.

$('#my-table').dynatable({ 
    table: { 
     headRowSelector:'thead', 
    }, 
    dataset: { 
     records: columns 
    } 
}); 
+0

спасибо, что нашли время, чтобы решить эту проблему. – platinums

+0

это не работает –

1

Я переключился на использование Datatables. Его решение для меня, просто не точное решение этого вопроса. Для дальнейшего использования, datatables позволяет создавать заголовки динамически на основе массива заголовков столбцов;

$('#example thead tr,tfoot tr').append('<th>' + value + '</th>'); 
+0

OP требует решения с использованием dynatables – sitilge

+0

i был OP. :) – platinums

Смежные вопросы