webentwicklung-frage-antwort-db.com.de

jQuery-Datatables fügen Klasse zu tr hinzu

Ich verwende jQuery und Datatables. Ich möchte eine Klasse zum TR-Element einer bestimmten Zeile hinzufügen. Ich weiß, wie ich die Reihe finde. console.dir(row); zeigt das row-Objekt und beginnt mit einem tr-Element. Ich kann den jQuery-Selector jedoch nicht dazu bringen, irgendetwas zu tun. Was vermisse ich?

table = $('#resultTable').DataTable({
    aaSorting: [],
    ajax: {...},
    columnDefs: [...],
    createdRow: function (row, data, index) {
        //
        // if the second column cell is blank apply special formatting
        //
        if (data[1] == "") {
            console.dir(row);
            $('tr', row).addClass('label-warning');
        }
    }
});
23
7 Reeds

$('tr', row) sucht nach einem tr -Element im Kontext von row, das heißt, es sucht nach einem tr-Element in der als Kontextparameter bereitgestellten row.

Laut API sollte dies funktionieren

$(row).addClass("label-warning");
42
Ozan

Sie müssten nur die createdRow verwenden.

`

$('#data-table').DataTable( {
    createdRow: function( row, data, dataIndex ) {
        // Set the data-status attribute, and add a class
        $( row ).find('td:eq(0)')
            .attr('data-status', data.status ? 'locked' : 'unlocked')
            .addClass('asset-context box');
    }
} );

`

5
ZyMaWy B bOy

DataTable (). Row.add () Situation:

Wenn Sie eine Klasse hinzufügen möchten, wenn Sie die Zeilenadditionsfunktion in Datatables verwenden, können Sie das TR-DOM von der node()-Methode erhalten:

var datatable = $('#resultTable').DataTable();

var trDOM = datatable.row.add( [
    "Col-1",
    "Col-2"
] ).draw().node();

$( trDOM ).addClass('myClass');
3
Nick Tsai

Sie können auch Klasse zu tr hinzufügen, indem Sie json-Daten durchleiten, die Sie an datatable senden. Es reicht aus, dass jeder Json-Artikel DT_RowClass hat.
Zum Beispiel:  

{

    DT_RowAttr = new
    {
       attr1 = "1",
       attr2 = "2"
    }
    DT_RowClass = "majid",
    DT_RowId = "rowId"

}  

In diesem Beispiel gilt der DT_RowId-Wert für das id-Attribut eines beliebigen tr-Tags, und der DT_RowAttr-Wert wendet ein benutzerdefiniertes Attribut auf das tr-Tag an.

0
Majid Basirati