2013-09-03 2 views
0

РезюмеDatatable заполняется нулем, а не JSON

Я пытаюсь заполнить DataTable с яваскриптом массивом, содержащим JSON. Я зацикливаюсь и создаю массив с JSON inide. Когда я передаю это обратно в Datatable, он правильно подсчитывает строки, но не заполняет их.

Вы можете увидеть это на снимке экрана ниже. Данные под таблицей - это массив, выводимый на экран.

enter image description here

фрагменты кода

$(document).ready(function() { 
    $('#content').append('<br><table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>'); 
    $('#example').dataTable({ 
     "aaData" : x, // ARRAY CONTAINING JSON 
     "aoColumns": [   
      { "sTitle": "ID", "mData" : "ID", sDefaultContent: "n/a" }, 
      { "sTitle": "Status", "mData" : "status", sDefaultContent: "n/a" }, 
      { "sTitle": "Date", "mData" : "date", sDefaultContent: "n/a" } 
      ] 
    }); 
}); 

Я прошел через JSON http://jsonlint.com/, который придумал штраф.

Пример JSON

{"ID":"TEST","status":"TEST","date":"TEST"} 

Каждая строка JSON в массиве представляет собой строку в DataTable.

Некоторые испытания

вручную положить в формате JSON работает отлично, вот так ...

"aaData" : 
     [ 
     {"ID":"test","status":"test","date":"test"}, 
     {"ID":"test","status":"test","date":"test"}, 
     {"ID":"test","status":"test","date":"test"}, 
     {"ID":"test","status":"test","date":"test"}, 
     ], 

enter image description here

Заключительные мысли

Так что мой массив, кажется, корректно выводится, и Datatable кажется t o возьмите JSON вручную. Где-то между ними, он не работает. Мои мысли касаются форматирования JSON или того, как вы вытаскиваете массив с JSON внутри. aaData: похоже, не справляется с этим.

Буду рад ответить на любые другие вопросы или разместить больше кода/фото. Спасибо

+0

экрана не отображаются. Попытка исправить .. – SNIP3S076

+0

Я вижу их просто отлично. – user1477388

+0

Спасибо. Я думаю, что моя внутренняя сеть блокирует imgur. – SNIP3S076

ответ

0

aaData - это массив массивов. Так aaData должен выглядеть как:

x = [["test", "test", "test"],["id", "status", "date"],["123", "456", "789"]]; 

Если вы хотите создать это из ваших данных: кадры

//jsonList = you array of json objects 
x = []; 
for(var i = 0; i < jsonList.length; i++){ 
    x.push([jsonList[i].ID, jsonList[i].status, jsonList[i].date]); 
} 
Смежные вопросы