我正在使用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
对象,这令人感到困惑。这是将来应该简化的东西。