我正在尝试使用 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 回调?
最佳答案
是的,正确的。 createdRow 回调仅在行已绘制后调用。我不会修复您当前的代码,而是通过使用列 defs 来向您展示如何使用正确的(?)方式来完成它:D另外,我认为/希望有什么地方可以转换您的 <
自动填充。
var oTable = $('#table').DataTable( {
"columnDefs": [ {
"targets": 0,
"render": function(data, type, row, meta) {
html = data.replace(/</g,'<').replace(/>/g,'>');
return html;
},
],
}
关于javascript - 为什么我的 jquery datatables createdrow 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24219166/