我瘋了,試圖爲我的問題找到一個解決方案。我有一個JS對象,它有一個層次結構和層次結構的級別是未知的。利用JQuery的模板和淘汰賽JS的我能得到的樹結構<ul>
& <li>
但我的要求是,爲每一個孩子,我需要呈現在Table
新因此,可以說我的結構是:遞歸tr與Knockout JS和Jquery模板
{
Name: 'First',
Total: 100,
Set: [
{
Name: 'First_1', Total: 30,
Set: [{Name: 'First_1_1', Total: 10}, {Name: 'First_1_2', Total: 20}]
},
{ Name: 'First_2', Total: 0 }
]
}
表應該是這樣的:
<table width="100%">
<tbody>
<tr><th>Name</th><th>Total</th></tr>
<tr><td>First</td><td>100</td></tr>
<tr><td>First_1</td><td>30</td></tr>
<tr><td>First_1_1</td><td>10</td></tr>
<tr><td>First_1_2</td><td>20</td></tr>
<tr><td>First_2</td><td>0</td></tr>
</tbody>
</table>
以下是小提琴我想出了:http://jsfiddle.net/paragnair/xpsa4/
如果我使用ul
li
,我可以通過使用
<ul data-bind="template: {name: 'tree1', foreach: Set}"></ul>
但因爲我的模板本身具有<tr>
開始我不知道我怎麼叫,而無需編寫的節點,其中data-bind="template:{...}
部分模板遞歸調用模板?最初的呼叫將工作,因爲它在<tbody>
上,但我不能在tbody
內tbody
遞歸調用模板來呈現其他tr
。
我希望這個解釋是足夠的。讓我知道你是否需要更多細節。任何幫助表示讚賞。
這正是我所期待的。太感謝了。 – Wiz 2012-07-16 23:04:02