2015-04-04 17 views
7

chciałbym zmienić tytuł kolumny moim elementu datatable generowane przez jQuery DataTable wtyczkiJak dynamicznie zmieniać tytuł kolumny wtyczki jQuery zestawu danych?

wiesz, jeśli mogę zrobić coś takiego:

table = $('#example').DataTable({ 
     "data": source_dataTable, 
     "columnDefs": defs, 

    "dom": 't<"top"f>rt<"bottom"lpi><"clear">', 
}); 
// WHAT I WANT TO DO: 
    table.column(0).title.text("new title for the column 0") 

?

Świadczy html pierwszą linię tak:

<table id="example" class="row-border hover dataTable no-footer" role="grid" aria-describedby="example_info" style="width: 1140px;"> 
    <thead> 
     <tr role="row"> 
       <th class="sorting" tabindex="0" aria-controls="example" rowspan="1" colspan="1" aria-label="S&amp;#233;lectionn&amp;#233;: activer pour trier la colonne par ordre croissant" style="width: 94px;">Sélectionné</th> 

       <th class="sorting" tabindex="0" aria-controls="example" rowspan="1" colspan="1" aria-label="Anglais : activer pour 

        trier la colonne par ordre croissant" style="width: 

62px;">Anglais </th> 

</tr> 
</thead> 
</table> 

...

w normalnym tabeli poniżej kod do pracy, ale dla DataTable wygenerowana przez plugin jQuery, to nie:

$('#example tr:eq(0) th:eq(0)').text("Text update by code"); 

Może istnieje metoda API lub inna metoda domingu?

+0

przykłady powinny być w języku angielskim, n ot w języku francuskim –

Odpowiedz

5

znalazłem rozwiązanie, które naprawdę zrobić to dynamicznie

$(table.column(1).header()).text('My title'); 
4

użyj poniższego kodu. sprawdzić DEMO

jeśli pierwszy tr z td

$('table tr:eq(0) td:eq(0)').text("Text update by code"); 

jeśli pierwszy tr z th

$('table tr:eq(0) th:eq(0)').text("Text update by code"); 

przy użyciu procesu boczną usług lub chcesz zrobić jakąś akcję po obciążeniu tabeli danych wszystkie dane korzystania Draw event.

Draw event - paliwa po stole zakończyła zwrócić

Przykład

$('#example').dataTable(); 

$('#example').on('draw.dt', function() { 
    console.log('Redraw occurred at: '+new Date().getTime()); 
    $('#example tr:eq(0) th:eq(0)').text("Text update by code"); 
}); 

za pomocą zwrotnego.
drawCallback Funkcja, która jest wywoływana za każdym razem, gdy DataTables wykonuje losowanie. sprawdź DEMO

$('#example').dataTable({ 
    "drawCallback": function(settings) { 
     $('#example tr:eq(0) th:eq(0)').text("Text update by code"); 
    } 
    }); 

czek wszystkie opcje wywołania zwrotnego HERE

+0

Dzięki, jestem pewien, że powinien działać z klasyczną tabelą, ale nie jest to tabela wygenerowana z datowalnym jQuery –

+0

będzie działać również z tabelą danych. dodać kod przy użyciu identyfikatora tabeli, którego używasz do datatable ... czy możesz pokazać mój kod? –

+0

Edytowałem pytanie i wypróbowałem $ ("tabela # przykład tr: eq (0) th: eq (0)") text ("Aktualizacja tekstu według kodu"); ale nie działa –

1

Możliwe ze w ten sposób:

"columns": [{ sTitle: "Column1"},{ sTitle: "Column2"}] 
+0

To działa dla ustawienia nazwy kolumny idealnie – Ulterior

Powiązane problemy