【问题标题】:dynamically add rows to jquery treetable *not at root*动态地将行添加到 jquery 树表 *不在根目录 *
【发布时间】:2013-10-03 01:04:01
【问题描述】:

我正在使用 treetable 插件,我想从之前从 xml 文件填充的 Taffy db 动态加载一些数据行。我已经验证 loadBranch 使用“null”作为节点在表的根上工作正常,但我似乎无法使其成为第一行的子节点。

HTML:

<table id='data_tree'>
<tr class="branch" data-tt-id="1">
<td>Studies</td>
</tr>
</table>

Javascript:

$(window).load(function(){
    studies_db().each( function (record,recordnumber) {
        $("#data_tree").treetable("loadBranch",1,
                            "<tr>"+
                            "<td><b>Accession:</b> "+record.accession+"<br>"+
                            "<b>Title:</b> "+record.title+"<br>"+
                            "<b>Authors:</b> "+record.authors+"<br>"+
                            "<b>Release date: </b>"+record.date+"<br>"+
                            "<b>Number of markers: </b>"+record.samples+"<br>"+
                            "</td></tr>")
         });
});

【问题讨论】:

    标签: javascript jquery treetable taffydb


    【解决方案1】:

    loadBranch 函数需要一个节点对象,而不是节点标识符。试试这个:

    $(window).load(function(){
      studies_db().each( function (record,recordnumber) {
        var node = $("#data_tree").treetable("node", "1");
    
        $("#data_tree").treetable("loadBranch", node,
          "<tr data-tt-id='2'>"+
          "<td><b>Accession:</b> "+record.accession+"<br>"+
          "<b>Title:</b> "+record.title+"<br>"+
          "<b>Authors:</b> "+record.authors+"<br>"+
          "<b>Release date: </b>"+record.date+"<br>"+
          "<b>Number of markers: </b>"+record.samples+"<br>"+
          "</td></tr>");
      });
    });
    

    请注意,我还在 tr 中添加了 data-tt-id 属性,否则 treetable 插件会报错。

    我不得不承认,有些函数需要一个节点标识符,而另一些函数需要一个 Node 对象,这很令人困惑......这是将来应该简化的东西。

    【讨论】:

    • 我正在查看版本3.2.0 的源代码,我真的不知道如果不手动将data-tt-parent-id 设置为新的&lt;tr&gt;loadBranch 将如何工作。事实上,这个解决方案本身对我不起作用。
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多