2014-10-05 73 views
0

所以我幾乎全新的JSON和相當新的jQuery。我一直在努力學習如何基於JSON數據生成HTML表格。但更重要的是,我將在其中包含多個包含不同JSON數組的表。基於ID生成從JSON到HTML表格

因此,使用給定的解決方案here,我可以成功地將數據生成到表中,但由於沒有指定將哪個表生成到哪個表,因此會將數據生成到頁面上的每個表中。我一直在試圖找出添加特定表ID的位置,但我在任何地方似乎都是錯誤的。

基礎代碼的作品,但把它放到每個表:

var tr; 
    for (var i = 0; i < cte.length; i++) { 
     tr = $('<tr/>'); 
     tr.append("<td>" + cte[i].accountName + "</td>"); 
     tr.append("<td>" + cte[i].advisor + "</td>"); 
     tr.append("<td>" + "Link".link(cte[i].link) + "</td>"); 
     $('table').append(tr); 
    } 

我的HTML表格代碼:

<table id="cteTable"> 
    <tr> 
     <th>Account Name</th> 
     <th>Advisor</th> 
     <th>Links</th> 
    </tr> 
</table> 

<table id="saTable"> 
    <tr> 
     <th>Account Name</th> 
     <th>Advisor</th> 
     <th>Links</th> 
    </tr> 
</table> 

,當我嘗試做

tr = $('#cteTable <tr/>'); 
or 
tr = $('#cteTable tr'); 

而不是產生成一張桌子,它不會創造任何東西。我知道我遇到的這個問題是由於缺乏對jquery和json的知識。所以任何幫助或正確方向的指導將不勝感激。

回答

0

tr = $('<tr/>'); 

,第一部分是不必要的,它沒有返回值,使用jquery來獲取一個HTML元素,你簡單地把它標記名稱/類名/標識的引號內。

$('table') 
$('.class') 
$('#id') 

把你生成的TR(這實際上是一個字符串形式的HTML)爲您使用的附加功能在桌子上像這樣

$('#tableID').append(tr) 

表當你使用表格標籤名稱會將當前頁面上的所有表格添加到您的tr上。