javascript - 从 Json 渲染 DataTable,并修改其中一列

标签 javascript jquery html json datatable

我正在从服务器加载的 Json 文件渲染 DataTable 的行。

其中一列包含 Logo (图像)链接,但该链接不应呈现为纯文本,而应直接呈现为 Logo 。

我怎样才能做到这一点?

这是我渲染数据表的代码:

$(document).ready(function() {
    $('#osPartner').DataTable( {
        "ajax": "test2.json",
        "columns": [
            { "data": "pId" },
            { "data": "sName" },
            { "data": "lgName" },
            { "data": "logo" },
            { "data": "inc" },
            { "data": "details.teaserImage2" }
        ]
    } );
} ); 

所有数据均已加载,但“ Logo ”列是链接。如何显示该链接上的图像,而不是链接(作为文本)?是否可以修改该列,并用 html 代码包围链接,例如:

<img src="logo_url_here_that_i_become_from_jsom" alt="Mountain View" style="width:304px">

 logo = "<img src='"+ logo + "' alt='Mountain View' style='width:304px'>"

这是我的 json 文件的样子:

{
    "data": [
    {
        "sName": "hjp",
        "lgName": "Hi Ju Pi",
        "pId": "lap34208",
        "feat": false,
        "logo": "https://www.link-here.de/images/image1.png",
        "details": {
              "teaserImage": "https://link-here.de/mg/dsa/dev/img/image1.png",
               "teaserImage2": "https://link-here.de/mg/dsa/dev/img/image1.png"
        }
        },
        {
        "sName": "hjp2",
        "lgName": "Hi Ju Pi22",
        "pId": "ldfsdf38",
        "feat": false,
        "logo": "https://www.link2-here.de/images/image2.png",
        "details": {
              "teaserImage": "https://another-link-here.de/mg/dsa/dev/img/picture1.png",
               "teaserImage2": "https://another-link-here.de/mg/dsa/dev/img/pic2.png"
        }}
    }]

}

最佳答案

您可以使用render方法:

"columns": [
   { "data": "pId" },
   { "data": "sName" },
   { "data": "lgName" },
   { "data": "logo",
     render : function( data, type, full, meta ) {
       return type == 'display' ? '<img src="'+ data + '"/>' : data
     }
   },
   { "data": "inc" },
   { "data": "feat" }
]

您可以通过 full 获取该行的所有项目变量(如果您想为 title 设置某个 <img> 或类似变量)。

关于javascript - 从 Json 渲染 DataTable,并修改其中一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37210748/

相关文章:

javascript - AJAX POST - 如何在 PHP 中使用 js 变量

javascript - 如何通过 jQuery 动态添加元素

html - 在页脚元素上获取附加到我的网页右下角的前景图像

javascript - @Input angular 2 遍数或对象变量

javascript - HTML5 中的发送回功能

javascript - Highcharts : by passing FROM DATE and TO DATE x axis labels should set

html - 在 Objective C 中将 RTF 文件转换为 HTML

javascript - 如何从数组中的对象获取帖子类别

javascript - 检索具有特定类的 <li> 元素的 id

html - 无法使用内部 float 元素修复父级的 100% 高度