带有对象的 jQuery DataTables fnrender

标签 jquery plugins jquery-plugins datatables

我正在使用 jQuery DataTable 从此“data.txt”形成一个表格:

{ "aaData" : [  
{       
    "ftitle": "Test1",
    "link": "http://server.com/test1/",
    "fname": "test1.pdf",
    "fid": "test1_353752165.pdf"
},
{       
    "ftitle": "Test2",
    "link": "http://server.com/test2/",
    "fname": "test2.pdf",
    "fid": "test2_353754257.pdf"
} ] }

这是我的js代码:

$('#example').dataTable( {
    "bProcessing": true,
    "sAjaxSource": "data/data.txt",
    "aoColumns": [
        {   "sClass": "center",
            "fnRender": function( oObj ) {
                return oObj.aData[0]+' '+ oObj.aData[2]; 
            } 
        },
        { "mDataProp": "fid", "sClass": "center" },
        { "mDataProp": "fname", "sClass": "center" }
    ],
} );

我只想获取.aData为fnrender()的实际数据但这仅适用于纯数组数据。 我现在得到的是“未定义未定义”,如果我使用仅包含数组数据的 .txt,它可以正常工作。

我认为我不知道如何正确地使用 fnrender,尤其是在处理对象时。

最佳答案

您得到“未定义”,因为 oObj.aData 是一个对象,而不是数组,并且没有“0”字段。使用如下语法:

oObj.aData.link

oObj.aData["link"]

完整示例(仅修改了 fnRender 返回值):

$('#example').dataTable( {
    "bProcessing": true,
    "sAjaxSource": "data/data.txt",
    "aoColumns": [
        {   "sClass": "center",
            "fnRender": function( oObj ) {
                return '<a href="' + oObj.aData.link + '">' + oObj.aData.ftitle + '</a>';
            } 
        },
        { "mDataProp": "fid", "sClass": "center" },
        { "mDataProp": "fname", "sClass": "center" }
    ],
} );

关于带有对象的 jQuery DataTables fnrender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6518989/

相关文章:

javascript - 动态更改tip提示文本

javascript - 使用 JQuery Mobile 进行多页面设计的问题

javascript - jQuery:带有文本更改的背景幻灯片

javascript - ember 模板中的循环完成后执行 jQuery 函数

javascript - 是否可以从外部 url 访问内部 jQuery # 链接(直接访问单个网站部分)?

jquery - 如何让 vim 自动完成我的 jQuery 代码?

java - 如何在 Eclipse 插件中检索当前文件的编程语言?

javascript - jquery - 如何让一个元素跟随页面到达一个点?

jquery - td 值不在很酷的 autosuggest jQuery 函数中

javascript - ||创建 jQuery 插件时在 JavaScript 中使用(或运算符)