带淘汰JS和Jquery模板的递归tr

带淘汰JS和Jquery模板的递归tr,jquery,knockout.js,jquery-templates,Jquery,Knockout.js,Jquery Templates,我想为我的问题找到解决办法,真是疯了。我有一个JS对象,它具有层次结构,层次结构的级别未知。利用JQuery模板和Knockout JS,我可以得到&的树结构,但我的要求是,对于每个子级,我需要在表中呈现一个新的行,所以让我们假设我的结构是: { Name: 'First', Total: 100, Set: [ { Name: 'First_1', Total: 30, Set: [{Name: 'Fi

我想为我的问题找到解决办法,真是疯了。我有一个JS对象,它具有层次结构,层次结构的级别未知。利用JQuery模板和Knockout JS,我可以得到
    &
  • 的树结构,但我的要求是,对于每个子级,我需要在
    表中呈现一个新的
    ,所以让我们假设我的结构是:

    {
        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>
    
    但是,由于我的模板本身是以
    开头的,因此我不确定在不使用
    data bind=“template:{…}编写节点的情况下如何调用模板
    part?初始调用将起作用,因为它位于
    上,但我不能在
    tbody
    中使用
    tbody
    递归调用模板以呈现其他
    tr


    我希望这个解释足够了。如果您需要更多详细信息,请告诉我。非常感谢您的帮助。

    您可以从该模板内部递归调用模板,该模板与foreach的$data context属性相结合,允许您执行所需操作…我在解释方面很糟糕,因此我更新了您的JSFIDLE来执行您需要的操作你在找,

    这正是我要找的。非常感谢。
    <ul data-bind="template: {name: 'tree1', foreach: Set}"></ul>