с возможностью добавления данных в td-рендеринг класса a

#javascript #datatables

#javascript #таблицы данных

Вопрос:

Как я могу добавить класс в этот рендеринг, где я спрашиваю, включен office или отключен, если это отключение должно добавить этот класс table-active . Я искал какой-то похожий вопрос, но ни один не сработал.

 var table = $('#tbl_1').DataTable({
            "order": [
                [1, "asc"]
            ],
            "destroy": true,
            "ajax": {
                "method": "POST",
                "url": "JSON/Office.php"
            },
            "iDisplayLength": 15,
            "columns": [ {
                "data": "Office",
                "width": "20%"
            },  {
                "data": "Status",
                "searchable": false,
                "sortable": false,
                "aling": "center",
                "render": function(data, type, row) {
                    var Status = row["Status"];
                    if (Status == 'FALSE') {
                        return '<button class="btn btn-sm btn-success active" onclick="enable_item(this)"title="Active">Active</button>';
                    } else {
                        return '<button class="btn btn-sm btn-danger disable" onclick="disable_item(this)" title="Disable"> Disable</button>';
                    }
                }
            }],
            "dom": '<"dt-buttons"Bf><"clear">lirtp',
            "paging": true,
            "autoWidth": true,
            buttons: [{
                extend: 'excel',
                text: 'Excel'
            }]
        });
  

Один из ответов, который я нашел, был таким $(row).addClass("table-active"); , но все еще не работает :(. Надеюсь, я хорошо объяснил приветствия

Комментарии:

1. Вы хотите присвоить некоторый класс всей строке или какой-то конкретной ячейке?

2. @ygorbunkov строка

3. Чем, я полагаю, предоставленный ответ должен соответствовать вашему требованию? Не так ли?

4. Не работает, потому что я использую render

Ответ №1:

Если я вас правильно понял и вы хотите добавить класс к <tr> элементу, вы можете использовать createdRow хук — https://datatables.net/reference/option/createdRow.

 $('#tbl_1').dataTable({
  "createdRow": function( row, data, dataIndex ) {
    if ( data["Status"] == false ) {
      $(row).addClass( 'table-active' );
    }
  }
});