[英]Why is my jquery datatables createdrow function not working?
我正在尝试使用“数据表创建的行回调”在绘制之前修改行中的数据。 我想做的是替换所有<
和>
加上'<'
和'>'
这样我就可以在每个单元格中放置一个换行符,并在单独的行中添加文本。 '\\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;
},
],
}
将修改后的元素重新添加到相关的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]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.