我正在使用treetable插件,并且想从以前从xml文件填充的Taffy数据库中动态加载一些数据行。我已经验证了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>")
         });
});

最佳答案

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>");
  });
});

请注意,我还向tr添加了data-tt-id属性,否则treetable插件会提示。

我必须承认,有些函数期望一个节点标识符,而另一些函数需要一个Node对象,这令人感到困惑。这是将来应该简化的东西。

10-02 21:01