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

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

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

这是代码:

$(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')
                }
            }
        });
    });

最佳答案

“列的类型”表示它是columns / 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')
            }
         }
       }
    ]
});

关于javascript - jQuery数据表fnCreatedCell没有被调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31407453/

10-11 03:57