动态添加行到jquery treetable*不在root*

Jak*_*eve 4 javascript jquery treetable taffydb

我正在使用treetable插件,我想从以前从xml文件填充的Taffy数据库中动态加载一些数据行.我已经验证了loadBranch在表的根上运行正常,使用"null"作为节点,但我似乎无法使它成为第一行的子代.

HTML:

<table id='data_tree'>
<tr class="branch" data-tt-id="1">
<td>Studies</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

使用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>")
         });
});
Run Code Online (Sandbox Code Playgroud)

小智 6

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

$(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>");
  });
});
Run Code Online (Sandbox Code Playgroud)

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

我不得不承认,有些功能需要一个节点标识符而另一些功能需要一个Node对象,这是令人困惑的...这是将来应该简化的事情.