2015-04-04 14 views
7

Tôi muốn thay đổi tiêu đề của một cột DataTable của tôi được tạo ra bởi jQuery Plugin DataTableTự động thay đổi tiêu đề cột của plugin dataTable jQuery như thế nào?

Bạn có biết nếu tôi có thể làm điều gì đó như thế này:

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

?

Nó ám một html một dòng đầu tiên như thế:

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

...

Trong một bảng bình thường mã công việc dưới đây, nhưng đối với DataTable trả lại bởi jQuery plugin, nó không:

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

Có thể có phương pháp API hoặc cách thức khác?

+0

ví dụ nên bằng tiếng Anh, n ot trong tiếng Pháp –

Trả lời

5

Tôi tìm thấy một giải pháp mà thực sự làm điều đó tự động

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

sử dụng mã bên dưới. kiểm tra DEMO

nếu tr đầu tiên với td

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

nếu tr đầu tiên với thứ

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

khi sử dụng quy trình bên dịch vụ hoặc muốn làm một số hành động một lần tải bảng dữ liệu tất cả các dữ liệu sử dụng Draw event.

Draw event - bị sa thải khi bảng đã hoàn thành một vẽ

Ví dụ

$('#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"); 
}); 

Sử dụng callback.
drawCallback Chức năng được gọi mỗi khi DataTables thực hiện thao tác vẽ. kiểm tra DEMO

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

kiểm tra tất cả các tùy chọn gọi lại HERE

+0

Cảm ơn, tôi chắc chắn nó sẽ làm việc với bảng cổ điển nhưng nó không phải là bảng whith tạo ra với jQuery datatable –

+0

nó sẽ làm việc với bảng dữ liệu cũng có. thêm mã bằng cách sử dụng id bảng mà bạn sử dụng cho datatable .. bạn có thể hiển thị mã của bạn? –

+0

Tôi đã chỉnh sửa câu hỏi, tôi đã cố gắng $ ('bảng # ví dụ tr: eq (0) th: eq (0)') văn bản ("Văn bản cập nhật theo mã"); nhưng không làm việc –

1

thể từ theo cách này:

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

Điều này hoạt động để đặt tên cột hoàn hảo – Ulterior

Các vấn đề liên quan