javascript - 在JavaScript中构建一个数组来填充jsTree

标签 javascript json jstree

我正在尝试使用 JsTree 构建文件树(用于 Web 应用程序)。

我有不同的层次:

级别 1:维度

级别 2: 层次结构(维度 的子级)

级别 3:niveau,Ordre_niveau = 1(hierarchie 的子级)

level n: niveau, Ordre_niveau = n(niveau ordre (n-1) 的 child )

我成功填充了dimensionhierarchie,但是我所有的niveau都在同一层,因为ordre<的信息niveau 的信息在同一个对象中。

这是我的代码:

var jsTreeData = [];
//"dimensions"
for (var i = 0; i < dimension.length; i++) {
  jsTreeData.push({
    'text': dimension[i].dimension_Nom_dimension,
    'type': 'dimension',
    'data': dimension[i],
    'children': []
  });

  //"hiérarchies"
  var x = -1;
  for (var j = 0; j < hierarchie.length; j++) {
    if (hierarchie[j].dimension_Dimension_id == jsTreeData[i].data.dimension_Dimension_id) {
      jsTreeData[i].children.push({
        'text': hierarchie[j].hierarchie_Nom_hierarchie,
        'type': 'hierarchie',
        'data': hierarchie[j],
        'children': []
      });
      x = x + 1;
      //"niveaux"        
      for (var k = 0; k < niveau.length && x < (jsTreeData[i].children.length); k++) {
        for (var l = 0; l < niveau.length && x < (jsTreeData[i].children.length); l++) {

          if (niveau[k].hierarchie_Hierarchie_id == jsTreeData[i].children[x].data.hierarchie_Hierarchie_id && niveau[k].niveau_Niveau_id == niveau[l].niveau_Niveau_parent_id && niveau[k].niveau_Ordre_niveau == 1 && niveau[l].niveau_Ordre_niveau == 2) {
            jsTreeData[i].children[x].children.push({
              'text': niveau[k].niveau_Nom_niveau,
              'type': 'niveau',
              'data': niveau[k],
              'children': ({
                jsTreeData: ({
                  'text': niveau[l].niveau_Nom_niveau,
                  'type': 'niveau',
                  'data': niveau[l]
                })
              })
            });
          }
        }
      }
    }
  }
}

结果是 Jstree 显示所有 dimension,所有 hierarchie 但只有 niveau, Ordre_niveau = 1 而不是 niveau, Ordre_niveau = 2

好像Jstree 的属性children 不起作用。

最佳答案

我不明白你的问题,但你可以使用最简单的方法来修复和调试:console.log('Some label', variable); 在你有的每个地方使用它if ... elsefor (i =0, ...) 或其他问题。它可以帮助您发现错误或错误。

关于javascript - 在JavaScript中构建一个数组来填充jsTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38743791/

相关文章:

javascript - 将 indesign 字符/段落样式导出到 javascript

javascript - 计算幻灯片数量以及另一个 div 内部的幻灯片数量

javascript - ajax:beforeSend 在任何 ajax 调用上被触发

ajax - jstree 3.0.2 动态树总是从缓存加载数据而不是重新调用服务器

javascript - .css() 函数不会为任何元素设置任何属性

Java 套接字 Json

java - 具有嵌套参数类的 Jackson Json

ios - swift:将传入的 json 数组转换为字典和对象

javascript - 用jstree中的子树替换单个节点

javascript - jsTree 节点中的 anchor 标记生成错误