2013-03-21 4 views
1

У меня есть часть кода, где я использую плагин datatables.datatables пустая ошибка таблицы

В таблице структура выглядит следующим образом:

<thead> 
    <tr> 
     <th>col1</th> 
     <th>col2</th> 
     <th>col3</th> 
     <th>col4</th> 
     <th>col5</th> 
     <th>col6</th> 
     <th>col7</th> 
     <th>col8</th> 
    </tr> 
</thead> 

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

В моем коде, я следующее:

if($data->responseCode < 400) 
{ 
    echo HTML Table 
} 

, который работает

else 
{ 
    echo '<tr><td colspan=4><h1 class="error">'.$data->errorMsg.'</h1></td></tr>'; 
} 

Когда я делаю это, я получаю следующее сообщение об ошибке:

«DataTables предупреждение (идентификатор таблицы = 'DataTables_Table_0'): запрошенный неизвестный параметр '1' из источника данных для строки 0 "

здесь приведен код данных:

var oTable = $('.table1').DataTable({ 
    "iDisplayLength": 100, 
    "aaSortingFixed": [[0,'desc']], 
    "aaSorting": [ [0,'asc'] ], 
    "aoColumnDefs": [ 
      { "bVisible": false, "aTargets": [ 4,5,6,7 ] }, 
      { "bSearchable": false, "aTargets": [ 1,2,3,4,5,6,7] }, 
      { "bSearchable": true, "aTargets": [ 0 ] }, 
     ] 
}); 

Кто-нибудь знает, что может быть причиной этого? Я думал, что это был colspan, но когда я удаляю это, проблема все еще существует. Странно то, что я использую это на другой странице, и, похоже, он просто обрабатывает пустой набор результатов.

Не уверен, если это поможет, но поиграв мне удалось получить следующее сообщение об ошибке, чтобы показать в поджигатель:

«TypeError: НТД не определен»

ответ

0

Вашего else заявление не включает table HTML start tag, может быть, это проблема, вы эхо из строки. Попробуйте

else 
{ 
    echo '<table id="table_id" class="table1"><tr><td colspan=4><h1 class="error">'.$data->errorMsg.'</h1></td></tr></table>'; 
} 
+0

Все теги для таблицы и стола выполнены выше, поля заголовка все еще на месте. Это условие предназначено только для создания тела таблицы. – ackerchez

5

Если вы используете DataTables часто, то это общая ошибка, которую вы получите. Причина в том, что формат данных, который вы используете для создания таблицы данных, не может соответствовать столбцам таблицы, например, у вас есть 4 столбца, тогда как исходные данные могут содержать только три столбца. Вы можете опубликовать формат данных и структуру таблицы, позвольте мне проверить дальнейшую проблему.

+0

Я добавил в структуру головы стола. но посмотрите, что в соответствии с кодом инициализации я пытаюсь скрыть последние четыре столбца. – ackerchez

+0

думаете ли вы, что колспан хотел бы с этим поработать? – ackerchez

+0

Я думаю, что вы можете попробовать, я не использовал его таким образом. – OQJF

0

Это потому, что DataTable проверить совпадающую общей сложности «колонки» в заголовке таблицы & тела

else 
    { 
     echo '<tr><td>'.$data->errorMsg.'</td> 
       <td></td> 
       <td></td> 
       <td></td> 
       <td></td> 
       <td></td> 
       <td></td> 
       <td></td> 
       </tr>'; 
    } 

Это будет показано, как пустая строка и с ErrorMsg в первом столбце вашей строки.

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