2012-03-23 11 views
1

Wenn ich versuche, die Breite der Datentabelle zu ändern, wird nur der Hauptbereich der Tabelle in der Größe angepasst, im angehängten Bild sollte das rot eingekreiste Element mit der Haupt-HTML-Tabelle ausgerichtet sein. :Die Breite der Datatables wird nicht korrekt eingestellt

enter image description here

die Tabelle zu zentrieren, die ich benutze: $("#myDataTable").css("width","80%"); aber wie man sehen kann es ändert die Größe nur den Abschnitt Haupttabelle, nicht die gesamte Datentabelle.

+1

Wenn Sie an der generierten Markup aussehen, ist das Auswahlfeld innerhalb #myDataTable? –

+0

Ja, die Auswahlbox wurde nicht in das generierte Markup aufgenommen - \t $ ("# umyDataTable_wrapper"). Css ("width", "80%"); Hat den Trick gemacht. Wenn Sie Ihren Kommentar in eine Antwort setzen, werde ich es akzeptieren, danke. –

Antwort

9

Datentabellen erstellt ein Wrapper Element, das immer die Klasse hat dataTables_wrapper also, wenn Sie die Tabelle ändern mögen, sollten Sie dieses Element der Größe

$(".dataTables_wrapper").css("width","80%"); 

, wenn Sie mehr als eine Tabelle haben und Sie eine bestimmte Wrapper zum Ziel , die ID dieser Wrapper

$("#idofyourtable_wrapper").css("width","80%"); 
0

beste Lösung, die ich mit so weit gekommen sind:

$('#[datatable-id]_wrapper').bind('DOMSubtreeModified', function() { 
    $(this).css('width', '150px'); 
    $(this).css('height', '250px'); 
}); 

Scheint die meisten Anwendungsfälle zu behandeln.

0

Basis der Wrapper Breite auf die Breite des Inhaltstabelle:

$('#<tableid>_wrapper').bind('DOMSubtreeModified', function() { 
    $(this).css('width', $('#<tableid>').css('width')); 
}); 
Verwandte Themen