我正在使用Fancytree jquery插件和json数据以树格式显示数据。 问题是,我想显示键名而不是值作为我的树节点。例如,
[{
"title": "Sample json",
"expanded": true,
"folder": true,
"children": [{
"title": "dev",
"folder": true
}, {
"title": "etc",
"folder": true,
"children": [{
"title": "cups"
}, {
"title": "httpd"
}, {
"title": "init.d"
}]
}
在这里,我想显示“title”作为我的树节点而不是“Sample json”值。 我该怎么做?
任何帮助将不胜感激。 提前谢谢!
答案 0 :(得分:0)
如果无法更改json对象的初始格式,则可以使用以下选项之一:
// option 1
$('#tree1').fancytree({
source: [{
"title": "Sample json",
"expanded": true,
"folder": true,
"children": [{
"title": "dev",
"folder": true
}, {
"title": "etc",
"folder": true,
"children": [{
"title": "cups"
}, {
"title": "httpd"
}, {
"title": "init.d"
}]
}]
}],
renderNode: function (event, data) {
var node = data.node;
node.tooltip = node.title;
node.setTitle('title');
}
});
// option 2
$('#tree2').fancytree({
source: {
url: 'data.json'
},
postProcess: function (event, data) {
var response = data.response;
function changeTitle(nodeData) {
nodeData.tooltip = nodeData.title;
nodeData.title = 'title';
for (var i in nodeData.children) {
var subNodeData = nodeData.children[i];
changeTitle(subNodeData);
}
}
for (var i in response) {
var nodeData = response[i];
changeTitle(nodeData);
}
}
});