1

我正在使用 ag-grid 来显示 JSON 数据。如果值保存在嵌套对象中,我必须使用 valueGetter(网格 API)来映射到该值。value getter 每行返回一个值,网格将正确的值分配给正确的行。问题是我需要每个值都是一个超链接,这会打开一个弹出窗口。我有一个使用 window.open 的 openPopup() 方法。但是我不得不使用 javascripts .link() 方法,它只需要一个 URL 字符串,所以我不知道如何在新窗口中打开链接。

价值获取者:

function isinValueGetterBox(params) {
    if (params.node.group) { return null; }
    var isinValueBox = "";

    for (var i = 0; i < params.data.security.identifiers.length; i++) {
        if (params.data.security.identifiers[i].type === "isin") {
            isinValueBox = params.data.security.identifiers[i].value;
        }
    }
    return isinValueBox.link("views/Popup1.html");
}

弹出方法:

popup1 = function () {
    var popup1 = window.open("views/Popup1.html", "_blank",
                        "height = 400, width = 700");
}
4

1 回答 1

0

发现在创建字符串时可以在 javascript 中使用 HTML,因此我只是附加了一个<a>带有 an 的标签onclick来调用我的 window.open 方法。

新的 valueGetter 方法:

 function isinValueGetterBox(params) {
    if (params.node.group) { return null; }
    var isinValueBox = "";

    for (var i = 0; i < params.data.security.identifiers.length; i++) {
        if (params.data.security.identifiers[i].type === "isin") {
            isinValueBox = ('<a href = "#" onclick = popup1()>' + params.data.security.identifiers[i].value + '</a>');
        }
    }
    return isinValueBox;
}
于 2015-11-11T13:43:22.830 回答