1

我有如下所示的json

{
    "aaData": [
        [
            {
                "displayValue": "Home Page",
                "link": "http://somelink.com"
            },
            "London",
            "1983"
        ],
        [
            {
                "displayValue": "Backlog",
                "link": "http://BacklogApp.com"
            },
            "Paris",
            "1999"
        ]
    ]
}

现在在 js 中,我正在使用 sAjaxSource 填充表。但我希望第一列是一个链接。我正在使用 fnRowCallback 属性来获取数据。在这里,我正在检查该行的第一个元素是否不是字符串(意味着是一个数组),然后将第一个元素作为链接,如下所示

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                if(typeof aData[0] != 'string'){
                    $('td:eq(0)', nRow).html( '<a href="' + aData[0][1] +'" >'  +
                            aData[0][0] + '</a>');
                }
            }

但问题是我无法获得 aData[0][0] 或 aData[0][1] 值,因为它显示未定义。

有谁知道我怎样才能在这里获得“displayValue”和“link”值????

4

2 回答 2

3

这是如果您正在使用包含整个 JSON 的对象。你需要什么取决于你的aData内容

var data = {
   "aaData": [
        [
             {  
                "displayValue":"Home Page",
                "link":"http://somelink.com"
         },
            "London",
            "1983"
        ],
        [
            {   
                "displayValue":"Backlog",
                "link":"http://BacklogApp.com"
         },
            "Paris",
            "1999"
        ]
    ]
}

比访问第一个 displayValue 的显示值:

data.aaData[0][0].displayValue
data.aaData[0][0].link
于 2012-10-04T12:16:05.713 回答
0

我在某人的评论中得到了答案,但只是该评论已被删除。我不知道为什么.. :( 答案是访问值作为 aData[0]['displayValue']

于 2012-10-04T12:20:52.390 回答