我正在尝试使用Datatables Rows Created Callback在绘制之前修改行中的数据。我要做的是将所有<
和>
替换为'<'
和'>'
,这样我就可以在每个单元格中添加换行符并在单独的行中放置文本。 '\n'
或linefeed
不起作用。
var oTable = $('#table').DataTable( {
"createdRow" : function( row, data, index) {
console.log( 'DATA WAS ' + data[0]);
data[0] = data[0].replace(/</g,'<').replace(/>/g,'>');
console.log( 'DATA IS ' + data[0]);
}
在控制台中我可以看到正确修改的数据。但它实际上并没有修改表格。有没有办法做到这一点?或者是在已经绘制了行之后调用的createdRow回调?
答案 0 :(得分:3)
<
东西自动。
var oTable = $('#table').DataTable( {
"columnDefs": [ {
"targets": 0,
"render": function(data, type, row, meta) {
html = data.replace(/</g,'<').replace(/>/g,'>');
return html;
},
],
}
答案 1 :(得分:0)
将修改后的元素添加回相关的td(列)。
var oTable = $('#table').DataTable( {
"createdRow" : function( row, data, index) {
console.log( 'DATA WAS ' + data[0]);
data[0] = data[0].replace(/</g,'<').replace(/>/g,'>');
console.log( 'DATA IS ' + data[0]);
$('td', row).eq(0).append(data[0]);
}