Jquery 使用fancytree以树格式显示json数据键的名称?
我使用带有json数据的Fancytree jquery插件以树格式显示数据。 问题是,我想将键名而不是值显示为我的树节点。比如说,Jquery 使用fancytree以树格式显示json数据键的名称?,jquery,fancytree,Jquery,Fancytree,我使用带有json数据的Fancytree jquery插件以树格式显示数据。 问题是,我想将键名而不是值显示为我的树节点。比如说, [{ "title": "Sample json", "expanded": true, "folder": true, "children": [{ "title": "dev", "folder": true }, { "title": "etc", "fo
[{
"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”显示为我的树节点,而不是“samplejson”值。
我该怎么做
任何帮助都将不胜感激。
提前谢谢 如果无法更改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);
}
}
});
你真的想显示一个有6个节点的树,所有节点都有“title”作为标题吗?@mar10,是的。如中所示,我希望将键名显示为fancytree的节点,而不是值。我不明白这一点,但由于键始终是'title',您只需为每个节点传递{“title”:“title”,…}node@mar10,实际上我想将XML转换为JSON,然后以树格式显示键而不是值。仅当节点已展开或根本不显示时,才应显示该值。@mar10,生成的JSON是否有必要采用如上所述的特定键的特定格式?