Во-первых, в вашем скрипте есть ошибка, возможно, опечатка, после [obj] [index] [value] "]" есть дополнительная квадратная скобка.
var obj = $.parseJSON(res);
$.each(obj, function (index) {
$.each(obj[index], function (value) {
table.row.add(
[obj[index][value] >]<-- One too many brackets ).draw();
});
});
Тогда мое предложение.
Сначала я делаю двух маленьких помощников ...
Один для подсчета количества столбцов:
$.fn.DTbl_columnCount = function () {
return $('th', $(this).find('thead')).length;
};
И так как я понятия не имею, какие данные поступают, следующий - это все пояса и пряжки, ну, в «любой» версии, которая также принимает массивы;)
$.fn.DTbl_createDataColumns = function (whatever) {
var temp = new Array($(this).DTbl_columnCount());
var value = "";
var type = jQuery.type(whatever);
var isArray = (type == "array");
if (!isArray && type != undefined)
value = whatever;
for (var i = 0; i < temp.length; i++) {
if (isArray)
if (whatever.length > i)
value = whatever[i];
temp[i] = '' + value;
value = "";
}
return temp;
};
И затем к вашей проблеме, поскольку эти дополнения на самом деле не являются частью DataTables, нам нужно извлечь DataTable Id в вызове функции DTbl_createDataColumns, здесь используя стандартную ссылку "#example".
var obj = $.parseJSON(res);
$.each(obj, function (index) {
$.each(obj[index], function (value) {
table.row.add(
$("#example").DTbl_createDataColumns([obj[index][value])
).draw();
});
});
Так что это также будет работать:
var myArray = ["Dodaa", "Dodee"];
table.row.add( $("#example").DTbl_getDataColumns(myArray) );