var count = 0;
var subcount = 0;
var subdata = [];
var treeData = [];
for (var catId in cats) {
for (var subCatId in cats[catId].m_itemGrpList) {
subdata[subcount] = [{
id: subCatId,
label: GetDisplay(cats[catId].m_itemGrpList[subCatId])
}];
subcount = subcount + 1;
}
treeData[count] = [{
id: catId,
label: GetDisplay(cats[catId]),
children: subdata
}];
count = count + 1;
}
$tree.tree({
data: treeData,
onCreateLi: function(node, $li) {
if (node.color) {
var $title = $li.find('.jqtree-title');
$title.addClass(node.color);
}
}
});当我尝试这样做时,将创建一个数组对象并将其存储在数组中,但是jqtree接受对象,而不是数组中的对象。我如何才能做到这一点。
此树有父节点,一个父节点可以有多个子节点。
发布于 2015-02-09 03:47:19
我知道答案了。仅供其他初学者使用。我使用了错误的数据结构。我应该这样做:
var treeData = [];
for (var catId in cats) {
var subdata = [];
var subCatObj;
for (var subCatId in cats[catId].m_itemGrpList) {
if(cats[catId].m_itemGrpList[subCatId].m_totalCount <=0)
continue;
subCatObj = {
id: subCatId,
label: GetDisplay(cats[catId].m_itemGrpList[subCatId])
}
subdata.push(subCatObj);
}
var catObj = {
id: catId,
label: GetDisplay(cats[catId]),
children: subdataenter code here
}
treeData.push(catObj);
}https://stackoverflow.com/questions/28366654
复制相似问题