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 に答える