2015-05-17 2 views
2

Я использую JSON для создания данных для DataTable, но также и для заголовка. Однако я заметил, что нижний колонтитул не создан. Поэтому мне нужно это вручную. Моя идея - клонировать заголовок для создания нижнего колонтитула, но я не знаю, как это сделать.jQuery dataTables - Как клонировать заголовок для создания нижнего колонтитула

Я использую следующий код:

$.getJSON("http://127.0.0.1/info", function(data) { 
    $(document).ready(function() { 
$('#log').html('<table class="display compact" id="log-data" width="100%"></table>'); 

var table = $('#log-data').dataTable({ 
    "dom": '<"tblContainerT"T><"tblContainerTop"lf><rt><"bottom"ip>', 
    "tableTools": { 
    "sSwfPath": "/swf/copy_csv_xls_pdf.swf", 
    "TableToolsInit.sTitle": "data-export". 
    }, 
    "data": data['tbody'], 
    "columns": data['thead'], 
    "lengthMenu":[[25,200,500,-1],[25,200,500,"All"]], 
    'fnInitComplete' : function() { 
    $("thead tr").clone().appendTo($("tfoot tr")) ; 
    } 
}); 

new $.fn.dataTable.FixedHeader(table, { 
     bottom: true 
}); 

    }); 
}); 

Соответствующая часть заключается в следующем:

'fnInitComplete' : function() { 
    $("thead tr").clone().appendTo($("tfoot tr")) ; 
    } 

Это не работает так, что-то происходит не так. Вы знаете, как это сделать?

Дайте мне знать, если вам нужна дополнительная информация.

ответ

3

Трудно сказать, когда мы не знаем, как ваша разметка.

Если у вас есть <tfoot></tfoot> только:

fnInitComplete : function() { 
    $("thead tr").clone().appendTo($("tfoot")) ; 
} 

демо ->http://jsfiddle.net/gu5qvjag/

Если у вас есть <tfoot><tr></tr></tfoot>:

fnInitComplete : function() { 
    $("thead tr th").each(function(i, th) { 
     $(th).clone().appendTo($("tfoot tr")); 
    });  
} 

демо ->http://jsfiddle.net/uj5dpbua/


Обновление. Грустно говорить, упускать из виду, что сам <table> генерируется код тоже :(

fnInitComplete : function() { 
    $("#log-data").append('<tfoot></tfoot>'); 
    $("#log-data thead tr").clone().appendTo($("#log-data tfoot")) ; 
} 
+1

Таблица создается динамически на линии № 3, '$ («# журнал»). HTML (<таблица класс =" дисплей компактный "ID =" лог-данные»ширина = "100%"> ');.' без 'элемента ' '' либо должен быть добавлен между '

' или с JQuery позже, но прежде, чем '' клонирования . –

+0

@ Gyrocode.com, благодарю вас за внимание к этому, полностью упустил первую строку в обработчике 'ready()'. Обновлен ответ. – davidkonrad

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

  • Нет связанных вопросов^_^