jayaugust 2015-05-17 14:17 采纳率: 66.7%
浏览 5015
已采纳

求教将后台返回的JSON数据填充到表格的问题,js的循环怎么写才正确。

后台返回的是这样的


{"reportId":"1","className":"java","reportName":"232","teaName":"刘老师","stuName":"张同学","uploadDate":"2015-05-16","grade":"80"}

 var tableDate = "";
        $.getJSON("getReport",{ userName : userName },function(data){
            $.each(data,function(id,obj){
                tableDate += "<tr><td>"+id["reportId"]+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td>"+obj+"</td>"
                              +"<td><button>上传</button></td></tr>"  
            }); 
//          alert(tableDate);
            $("tbody").html(tableDate);
        })

前台显示成了这样。。。,整个倒过来了,求教这个循环到底怎么写的

图片说明

  • 写回答

1条回答 默认 最新

  • danielinbiti 2015-05-17 14:26
    关注

    如果each传入的是obj对象,会把里面的属性数组化,所以就是你上面的结果了,每行就是一个属性。
    把data改成[data]

     $.each([data],function(id,obj){
                    tableDate += "<tr><td>"+obj["reportId"]+"</td>"
                                  +"<td>"+obj['className']+"</td>"
                                  +"<td>"+obj['reportName']+"</td>"
                                  +"<td>"+obj['teaName']+"</td>"
                                  +"<td>"+obj['stuName']+"</td>"
                                  +"<td>"+obj['uploadDate']+"</td>"
                                  +"<td>"+obj['grade']+"</td>"
                                  +"<td><button>上传</button></td></tr>"  
                }); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?