【问题标题】:Getting json array value in datatable获取数据表中的json数组值
【发布时间】:2012-10-04 12:09:54
【问题描述】:

我有如下图所示的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”值????

【问题讨论】:

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

标签: jquery json datatable


【解决方案1】:

如果您正在使用包含整个 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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      相关资源
      最近更新 更多