2016-08-09 48 views
3

Ein Kontrollkästchen wird der ersten Spalte von jQuery dataTable in meinem Projekt hinzugefügt, um dem Benutzer eine Mehrfachauswahlfunktion bereitzustellen. Allerdings ist seine Breite unkontrolliert, was zu groß ist, wenn ich im Vollbildmodus möchte, dass es immer in 45px angezeigt wird. Ich habe versucht, es in jQuery und CSS zu beheben, aber alle fehlschlagen.Die Breite der ersten Spalte von jQuery dataTable kann nicht festgelegt werden

Mein Versuch:

//jQuery 
$('.dataTable').dataTable({ 
    "columnDefs": [ 
    { "width": "45", "targets": 0 } 
    ] 
}); 

//css 
.dataTable > thead > tr > th:first-child { 
    width: 45px!important; 
} 

irgendeine Idee?

+0

haben Sie versucht, '{„Breite“:„45px“,„Ziele“: 0}'; Fügen Sie nach Ihrem Wert px hinzu. – vijayP

+0

@vijayP sicher, nichts passiert –

+0

haben Sie versucht, andere Option auf der Dokumentations-Seite zur Verfügung gestellt: https://datatables.net/reference/option/columns.width – vijayP

Antwort

0

Versuchen Sie, diese in js:

$('#datatable').dataTable({ 
    "columnDefs": [ 
    { "width": "45px", "targets": 0 } 
    ] 
}); 

oder in CSS:

#datatable td:nth-child(1) 
    { 
     width: 45px; 
    } 
+0

Was bedeutet td: nth-child (9)? –

+0

Es ist aus Versehen. Es ist 1 –

0

Jede Idee?

Ja. Sie können sich nicht auf width verlassen; Browser sind nicht unbedingt darauf bedacht, eine width zu erhalten, wenn andere Elemente den Platz verkleinern oder mehr Platz als erforderlich geben. wenn Sie eine min-width jedoch definieren, dann sind Sie sicher, dass width auf diesen Wert voreingestellt ist:

table.dataTable tbody td:first-child { 
    min-width: 45px !important; 
}