javascript - 使用 javascript .link() 方法打开弹出窗口

标签 javascript angularjs window.open ag-grid

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

值 getter :

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");
}

最佳答案

发现创建字符串时可以在 javascript 中使用 HTML,所以我简单地附加了一个 <a>带有 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;
}

关于javascript - 使用 javascript .link() 方法打开弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33649876/

相关文章:

javascript - 隐藏元素而不使用显示 :none or visibility:hidden

javascript - 如何获取 ng-repeat 上对象属性的项目计数

javascript - AngularJS 隔离范围和 Controller 绑定(bind)

javascript - 在成功登录后运行 HTTP post

javascript - IE7 - 访问过的链接在页面刷新后恢复为未访问过

javascript - 切换和 JavaScript : Can't Get It To Work

javascript - IE8不显示文本区域调整右下角

javascript - 在新选项卡中打开网址而不弹出浏览器

javascript - 使用 Portal React 打开新标签页

javascript - Joyride 基础自定义覆盖