Vivien Pipo Vivien Pipo - 4 months ago 18
Javascript Question

How dynamicaly change column title of dataTable jQuery plugin?

I would like to change the title of a column my datatable generated by jQuery Datatable plugin

Do you know if I can do something like this :

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")


?

It renders a html a first line like that:

<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>


...

In a normal table the code bellow work , but for datatable rendered by jQuery plugin , it doesn't:

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


Maybe there is a API method or another dom way ???
That is the question.

Answer

I found a solution that really do it dynamically

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