我正在使用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()
SEL [0] .row [0]
但我不知道他们如何在他们的事物中构建数据......
Anyonw之前遇到过这个并解决了它?
这是我设置数据的方式
nodesTable.addRow([45, "myObjectName", "image", "images/container_icons/icon.png"]);
答案 0 :(得分: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;
}
对于那些不熟悉的人来说,双{{}}是两个模板。这里混合了javascript和TWIG ServerSide代码,抱歉。