javascript - 为什么我的 jquery datatables createdrow 函数不起作用?

标签 javascript jquery html datatables jquery-datatables

我正在尝试使用 Datatables Rows Created Callback 在绘制之前修改行中的数据。我要做的是替换所有 &lt;&gt;'<''>'所以我可以在每个单元格中换行,并在不同的行上放置文本。 '\n'linefeed不起作用。

var oTable = $('#table').DataTable( { 
      "createdRow" : function( row, data, index) {
         console.log( 'DATA WAS ' + data[0]);
         data[0] = data[0].replace(/&lt;/g,'<').replace(/&gt;/g,'>');
         console.log( 'DATA IS ' + data[0]);
       }

在控制台中我可以看到数据被正确修改。但它实际上并没有修改表格。有没有办法做到这一点?还是在绘制行之后调用 createdRow 回调?

最佳答案

是的,正确的。 createdRow 回调仅在行已绘制后调用。我不会修复您当前的代码,而是通过使用列 defs 来向您展示如何使用正确的(?)方式来完成它:D另外,我认为/希望有什么地方可以转换您的 &lt;自动填充。

var oTable = $('#table').DataTable( { 
    "columnDefs": [ {
        "targets": 0,
        "render": function(data, type, row, meta) {
            html = data.replace(/&lt;/g,'<').replace(/&gt;/g,'>');
            return html;
        },
    ],
}

关于javascript - 为什么我的 jquery datatables createdrow 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24219166/

相关文章:

javascript - 如何在javascript中添加 'delete all button'

Jquery Datatables MakeEditable 选择/删除错误

javascript - 输入字段(ng-modal)完成后的事件($watch)

javascript - 为什么这个 jQuery 代码片段在 IE8 中不能像在 Firefox 或 Chrome 中那样工作(包括现场演示)?

javascript - 跨多个用户使用 IndexedDB 数据

javascript - 将字符串转换为数组

html - 固定菜单 -> 媒体屏幕 css 不工作

javascript - Mapbox NavigationViewOptions 和 NavigationLauncherOptions

javascript - 从不同的域加载 json?

javascript - 将 POST 更改为 GET。现在 Ajax 返回多个帖子