我正在使用 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/