jQuery DataTables fnrender with objects

Sch*_*igH 6 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"
} ] }
Run Code Online (Sandbox Code Playgroud)

这是我的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" }
    ],
} );
Run Code Online (Sandbox Code Playgroud)

我只想用fnrender ().aData获取实际数据,但这仅适用于仅限数组的数据.我现在得到的是"undefined undefined",如果我只使用.txt和数组数据就可以了.

我想我不能正确使用fnrender,特别是在使用对象时.

Luk*_*uke 20

你得到"未定义",因为oObj.aData是一个对象,而不是一个数组,并且没有"0"字段.使用这样的语法:

oObj.aData.link
Run Code Online (Sandbox Code Playgroud)

要么

oObj.aData["link"]
Run Code Online (Sandbox Code Playgroud)

完整示例(仅修改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" }
    ],
} );
Run Code Online (Sandbox Code Playgroud)