0

我正在使用 chap 链接库https://github.com/almende/chap-links-library/tree/master/js/src/network来绘制对象区域。

我希望能够在点击时使用我设置为对象的 id,我有这个代码

    function onselect() {
        var sel = network.getSelection();
        console.log("selected "+sel[0].row);
    }     

它工作正常,只有它从动态创建的表中检索行号。我想从该行中检索一个值(我设置的一个对象 ID),但我不知道如何访问它。

我有累的东西,比如

sel[0].row.id

sel[0].row.getId()

选择[0].row[0]

但我不知道他们如何在他们的东西中构造数据......

Anyonw之前遇到过这个并解决了吗?

这是我设置数据的方式

            nodesTable.addRow([45, "myObjectName", "image", "images/container_icons/icon.png"]);
4

1 回答 1

0

对于我的应用程序,我通过创建一个并行数组来解决它......

    //rendera objekt
    window.clickHelper = []; //keep track of container id in conjunction with hierarchy-canvas-object's id
    var i = 0; //counter for above

在每个节点创建时填充它...

            nodesTable.addRow([{{ c.id }}, "{{ c.name }}", "image", "{{ asset('images/container_icons/'~c.icon~'.png') }}"]);
            clickHelper[i]={{c.id}};
            i++;

然后在我的 onSelect 事件中调用该数组中的数据...

    function onselect() {
        //get selected node from network
        var sel = network.getSelection();
        sel = sel[0].row;

        //get path base structure
        var path = '{{ path('editGroup') }}';

        //fix path with the DB id of the clicked object
        path = path+clickHelper[sel];

        window.location.href = path;
    }

对于不熟悉的人来说,双 {{ }} 是 TWIG 模板。在这里混合了 javascript 和 TWIG 服务器端代码,对不起。

于 2013-11-25T10:01:53.110 回答