编程语言
首页 > 编程语言> > javascript-jQuery数据表fnCreatedCell不被调用

javascript-jQuery数据表fnCreatedCell不被调用

作者:互联网

我想根据其值更改单元格的文本颜色.但是,当我向表中添加数据时,不会调用fnCreatedCell函数.

考虑到我成功使用了fnCreatedRow,这很奇怪.但是,这只能给整个行着色,这不是所需的功能.

我可以看到后面的函数的类型为“回调”,而fnCreatedCell的类型为“列”.所以我假设我不能像fnCreatedRow一样使用fnCreatedCell,但是我该如何使用呢?

这是代码:

$(document).ready(function() {
        $('#demo').html('<table cellpadding="0" cellspacing="0" border="0" class="display cell-border"  id="example" ></table>');

        t = $('#example').DataTable({
            "columns": 
            [
                {"title": "c1", "data": "c1" },
                {"title": "c2", "data": "c2" },
            ],

            "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) 
            {
                console.log(sData, cData, 'TEST'); // not being done
                if (sData > 30) 
                {
                    $(nTd).css('color', 'blue')
                }
            }
        });        
    });

解决方法:

“列的类型”表示它是column / columnDefs结构的一部分,即每个单独的列都有一个fnCreatedCell(从1.10.x开始使用,您可以将其命名为createdCell).范例:

t = $('#example').DataTable({
    "columns": [
       {"title": "c1", "data": "c1" },
       {"title": "c2", 
        "data": "c2",
        "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
            console.log(sData, cData, 'TEST'); // not being done
            if (sData > 30) {
                $(nTd).css('color', 'blue')
            }
         }
       }
    ] 
});     

标签:callback,datatables,cell,javascript,jquery
来源: https://codeday.me/bug/20191120/2040690.html