DataTables 呈现(一列中的多个数据)未显示在界面中

DataTables render (multiple data in one column) does not show in Interface

我正在按照本指南操作,以便在我的 DataTables(js 插件)列中添加多个数据:

https://datatables.net/forums/discussion/58795/add-multiple-value-in-column

这是有问题的特定列:

{ data: 'shift_name', name: 'shift_name', width: '15%', 
    "render": function ( data, type, row, meta )
    {
        return row.shift_name ? row.shift_name : 'N/A';
    },
    createdCell: function (td, cellData, rowData, row, col) {
        return $(td).css({
            'font-weight': "700"
        });
    }
},

输出:

现在我正尝试在 shift_name 下添加另一个数据,所以这是我首先尝试的:

return row.shift_name ? row.shift_name : 'N/A' + '<br>hello';

上面的代码没有在每一行中显示“hello”

我也试过在开头加一个+:

return + row.shift_name ? row.shift_name : 'N/A' + '<br>hello';

但出于某种原因,我的 shift_name 数据无法以这种方式读取:

在我的情况下,连续添加多个数据的正确方法是什么?

您正在使用 JavaScript conditional operator ? :.

您的逻辑基本上意味着 “如果 row.shift_name 有一个值,则显示该值(仅此而已!)-否则显示 N/A 加上一些附加文本”。 =32=].

因此,您的逻辑意味着如果 row.shift_name 不包含任何值,您只会显示该附加文本。

您可以使用括号来解决这个问题:

return (row.shift_name ? row.shift_name : 'N/A') + '<br>hello';

现在,首先评估条件 ? : 运算符 - 然后将额外文本附加到该运算符的任何结果。


另请参阅 以更准确地描述如何在条件运算符中评估条件。