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