我要疯了试图找到我的问题的解决方案。 我有一个具有层次结构和层次结构的级别是未知的一个JS对象。 利用JQuery的模板和淘汰赛JS的我能得到的树结构与<ul>
和<li>
但我的要求是,为每一个孩子,我需要呈现一个新Row
的Table
因此,可以说我的结构是:
{
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
。
我希望这个解释就足够了。 让我知道,如果你需要更多的细节。 任何帮助表示赞赏。