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

时间:2013-10-03 01:04:01

标签: 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>

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

1 个答案:

答案 0 :(得分:7)

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对象,这是令人困惑的......这是将来应该简化的事情。