【发布时间】:2012-02-08 07:00:18
【问题描述】:
我有一个包含某些列的 jqgrid,我需要其中一列中的超链接,单击超链接应该打开一个新窗口,基本上调用 window.open()。
另外,当我调用 window.open() 时,我需要超链接列值。 请提供一些示例代码。任何帮助将不胜感激。
谢谢
Oleg,我尝试了下面的代码,它在 load() 中抛出错误“预期对象”。
{name:'FileName', FileName:'price', width:60, align:"center", formatter:returnMyLink}
function returnMyLink(cellValue, options, rowdata)
{
return "<a href='javascript:load();'>Open Window</a>";
}
function load()
{
var guid = 'CEF9C407-2500-4619-95E3-8E6227B65954';
window.open ('/irj/servlet/prt/portal/prtroot/com.medline.medpack.ExcelViewerPL.ExcelViewer?report=CustomerBenefit&reportId='+guid );
}
我确实尝试使用 document.delegate 来捕获 a href 事件。
$(document).delegate('#CustomerSavingsView .jqgrow td a[href="#"]', 'click',function()
{
alert('test');
}
我也无法捕捉到这个事件。 对不起,我是 Jquery 的新手。如果我错了,请纠正我。
谢谢
我就是这样解决的。在网格完成事件中添加以下代码。
hl = "<a href='#Test' target='_blank' id='hlink"+cl+"'>Test</a>";
然后为它添加了一个事件处理程序。
$(document).delegate('#CustomerSavingsView .jqgrow td a[href*="#Test"]', 'click', function ()
{
var guid = 'CEF9C407-2500-4619-95E3-8E6227B65954';
window.open('/irj/servlet/prt/portal/prtroot/com.medline.medpack.ExcelViewerPL.ExcelViewer?report=CustomerBenefit&reportId='+guid );
}
这解决了目的。再次感谢 Oleg 和 Walter。
【问题讨论】:
-
“另外当我调用window.open()时,我需要超链接列值”,你是说要将列中的值传递到新窗口吗?
-
是的,我需要将列的值传递到新窗口。
标签: jqgrid