0

jQueryを使用してテーブルにjsonデータを入力しようとしています。しかし、divコンテンツは空のままです。plsは私がエラーを見つけるのに役立ちます。配列listにはデータが含まれています(私はそれをチェックしましたconsole.log(list))。また、キーとで指定された値list['Var1']を参照してください。問題はまさにjQueryにあります。list['Var2']Var1Var2

function loadData() {
    $.getJSON(
              'modules/getData.php',
        function(data) {    
                  var list = data.flights;
                  var textToInsert = '';
                  console.log(list);
                  for (var i = 0; i < list.length; i += 1) {
                        textToInsert[i++]  = '<tr><td>';
                        textToInsert[i++] = list['Var1'];
                        textToInsert[i++] = '</td>' ;
                        textToInsert[i++]  = '<td>';
                        textToInsert[i++] = list['Var2'];                                                               
                        textToInsert[i++] = '</td> </tr>' ;              
                    }
                    $('#flights_table tbody').append(textToInsert.join(''));
              }
    );             
}   

<div id="flights_table" style="display:none;">
    <table id="newspaper-b" border="0" cellspacing="2" cellpadding="2" width = "100%">
                        <thead>
                            <tr>
                                <th scope="col">Var1</th>
                                <th scope="col">Var2</th>
                            </tr>
                        </thead>
                        <tbody></tbody>
    </table>
</div>

getData.php

$list = array();
//fill the list using 'keys' and 'values'
    echo json_encode(array('flights' => $list));
    die();

UDPATE: list.lengthが含まれています。しかし、Firebugはまだ言います

TypeError:textToInsert.joinは関数ではありません

解決策:解決策はこれを使用することでした:

 for (var i = 0; i < list.length; i++) {
                       aux = list[i];
                        textToInsert  += '<tr><td>';
                        textToInsert  += aux.Var1;
}
4

2 に答える 2

0

試す

var textToInsert = new Array();
于 2012-09-06T11:55:35.303 に答える
0

あなたのforループでfor (var i = 0; i <length; i += 1)

あなたは長さを言っているのではありません!そのはずlist.length

textToInsertまた、文字列として使用する場合は、文字列ではなく配列として宣言する必要があります

textToInsert = [];
于 2012-09-06T11:48:27.697 に答える