jQuery DataTables fnrender 与对象
Posted
技术标签:
【中文标题】jQuery DataTables fnrender 与对象【英文标题】:jQuery DataTables fnrender with objects 【发布时间】:2011-09-25 00:40:52 【问题描述】:我正在使用 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"
],
);
我只想使用fnrender() 的.aData 获取实际数据,但这仅适用于仅数组数据。 我现在得到的是“未定义的未定义”,如果我使用仅包含数组数据的 .txt,它可以正常工作。
我认为我不明白如何以探测方式使用 fnrender,尤其是在处理对象时。
【问题讨论】:
【参考方案1】:您得到“未定义”,因为 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"
],
);
【讨论】:
谢谢。在使用了 DataTables 一天后,我自己解决了这个问题。我忘记在此处发布并关闭此主题。 非常感谢您对“oObj.aData.link”的建议,因为我试图从一百万行片段构建我的并试图隐藏东西......当我可以输出链接时根据需要,然后使用 fnRender 添加它。 嗨,我需要类似问题的答案,但是,我的 aoColumns 使用 mData。我怎样才能包含这个“fnRender”:function(oObj) return '' + oObj.aData.ftitle + '';在其中之一mData。谢谢。以上是关于jQuery DataTables fnrender 与对象的主要内容,如果未能解决你的问题,请参考以下文章
JQuery插件之Jquery.datatables.js用法及api