getorgchart secondParentIdField错误与html表或csv源

时间:2018-02-05 16:11:48

标签: getorgchart

我正在测试getorgchart并在某些条目上要求辅助父级。

每当我跑步时,我都会收到错误:

TypeError:t未定义

如果我注释掉下面一行,它会加载并显示图表 - 没有标志链接:

    secondParentIdField: "secondKey",

我正在使用HTML表作为源代码,我也尝试过使用CSV。

我发现这个链接回原始文档:

GetOrgChart-multiple parents for a child node

这是使用JSON作为源,仅在需要时列出secondParenId(例如:http://www.getorgchart.com/Demos/Second-Parent-Relation

我想知道这是否是HTML / CSV与JSON的标记问题。我已经尝试将值null和0添加到html表中,但它仍然显示相同的错误。

HTML表格源 - 请注意我正在编辑示例文件,因此它正在加载jquery和getorgchart文件相关:

    <table id="orgChartData">
    <tr>
      <th>Key</th>
      <th>parentKey</th>
      <th>secondKey</th>
      <th>team</th>
      <th>name</th>
      <th>title</th>
      <th>email</th>
      <th>dd</th>
      <th>mob</th>
      <th>image</th>
    </tr>
    <tr>
      <td>1</td>
      <td></td>
      <td></td>
      <td></td>
      <td>Test 1</td>
      <td>Tile 1</td>
      <td>email1@email.co.uk</td>
      <td>0000 123456</td>
      <td>0000 123456</td>
      <td>person.jpg</td>
    </tr>
    <tr>
      <td>2</td>
      <td>1</td>
      <td>3</td>
      <td></td>
      <td>Test 2</td>
      <td>Title 2</td>
      <td>email2@email.co.uk</td>
      <td>0000 123456</td>
      <td>N/A</td>
      <td>person.jpg</td>
    </tr>
    <tr>
      <td>3</td>
      <td>1</td>
      <td></td>
      <td></td>
      <td>Test 3</td>
      <td>Title 3</td>
      <td>email3@email.co.uk</td>
      <td>0000 123456</td>
      <td>0000 123456</td>
      <td>person.jpg</td>
    </tr>
    <tr>
      <td>4</td>
      <td>5</td>
      <td>2</td>
      <td></td>
      <td>Test 4</td>
      <td>Title 4</td>
      <td>email4@email.co.uk</td>
      <td>0000 123456</td>
      <td>N/A</td>
      <td>person.jpg</td>
    </tr>
    <tr>
      <td>5</td>
      <td>3</td>
      <td></td>
      <td>Business Development ePractice</td>
      <td>Test 5</td>
      <td>Title 4</td>
      <td>email5@email.co.uk</td>
      <td>0000 123456</td>
      <td>0000 123456</td>
      <td>person.jpg</td>
    </tr>

JavaScript的:

    <script type="text/javascript">
        var peopleElement = document.getElementById("people");
        var orgChart = new getOrgChart(peopleElement, {
            idField: "Key",
            secondParentIdField: "secondKey",
            theme: "monica",                
            linkType: "M",
            primaryFields: ["name", "title", "email"],
            photoFields: ["image"],
            enableGridView: true,
            enableEdit: false,
            expandToLevel: 2,

            dataSource: document.getElementById("orgChartData"),

        });

</script>

编辑:

经过一些调试后,JSON与...之间数据的主要差异来自HTML:

要获取此信息,请添加

console.log(this.nodes);

   for (var e in this.nodes) {

来自HTML:

spid: ""

来自JSON:

spid: undefined

这是输出

修复了我在代码中的功能:

getOrgChart.node = function(d, f, h, c, g, e, a, b) {

添加:

h = (h == "") ? undefined : h;

在:

this.spid = h;

这需要修复原始代码,我只是将其缩小为调试。

1 个答案:

答案 0 :(得分:0)

该问题已在最新版本2.4.5中解决