我正在使用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>")
});
});
答案 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
对象,这是令人困惑的......这是将来应该简化的事情。