我使用gedit
从数据库中获取值来构建表格,并希望在粗体文本中显示数据库中Datatables
的行。我还没有找到一种方法,可以使用Jquery / JS从表中检索任何值(即未读列),以便应用特定的类。
这可以以任何方式完成吗?这是我目前的代码,显然无法解决问题。
unread=true
$('a[data-toggle="tab"]').on( 'shown.bs.tab', function (e) {
$.fn.dataTable.tables( {visible: true, api: true} ).columns.adjust();
} );
var table = $('table.table').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"dataSrc": "Data",
"url": "logsController/getDataTable",
"data": { string: $("input.form-control").val() },
"type": "POST"
},
"columns": [
{ "data": "datetime" },
{ "data": "type" },
{ "data": "data" }
]
} );
$('#myTableLogs').DataTable();
或console.log(data.unread)
都返回"数据未定义"
更新
我通过删除console.log(data.datetime)
并更改我的代码解决了我的问题。见下面的答案。
答案 0 :(得分:1)
我发现不需要服务器端,并且使用this page并使用createdRow启发了自己。
$.ajax({
url: "logsController/getDataTable",
method: 'post',
dataType: 'json',
success: function (data) {
var table = $('#myTableLogs').DataTable({
paging: true,
sort: true,
searching: true,
data: data,
ordering: true,
columns: [
{ "data": "datetime" },
{ "data": "type" },
{ "data": "data" },
{ "data": "unread" }
],
"createdRow": function ( row, data, index ) {
if ( data.unread == 1 ) {
$('td', row).addClass('unread_class');
}
}
});
});
答案 1 :(得分:0)
您可以使用createdRow callback option测试值的行数据并动态地向行添加类
var table = $('table.table').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"dataSrc": "Data",
"url": "logsController/getDataTable",
"data": { string: $("input.form-control").val() },
"type": "POST"
},
"columns": [
{ "data": "datetime" },
{ "data": "type" },
{ "data": "data" }
],
"createdRow": function(row, data) {
// replace with appropriate reference to your data structure
// and CSS class to change font weight
if (data.unread) $(row).addClass('text-bold');
}
});