我有一个jqgrid,我在自定义格式化程序中调用'returnHyperLink'。这段代码工作正常,并转到我要求的链接:
function returnHyperLink(cellValue, options, rowdata, action) {
return '<a id="myLink" href="#" onclick="switchPage(\''+cellValue+'\');">'+cellValue+'</a>'
}
function switchPage(cellValue) {
$("#contents").load("jsp/newpage.jsp");
}
但是我想在switchPage
呼叫returnHyperLink
时再添加一个参数。
我正在寻找像这样的正确格式:
function returnHyperLink(cellValue, options, rowdata, action) {
return '<a id="myLink" href="#" onclick="switchPage(\''+cellValue+'\', \''+rowdata+'\');">'+cellValue+'</a>'
}
这样我就可以访问该特定的rowdata 显然,我的新switchPage功能如下所示:object
,然后在$("#contents").load("jsp/newpage.jsp");
中调用switchPage
之前从中提取信息
function switchPage(cellValue, rowdata)
答案 0 :(得分:0)
您无法直接传递rowdata,因为您无法在内联onclick事件中传递对象。要做到这一点,你应该按照this Question中的描述在javascript中定义onlick,但这对你不起作用。
那么你应该做的就是逐个通过你需要的所有rowdata字段让我们说你需要在你的行中使用Field1和Field2
function returnHyperLink(cellValue, options, rowdata, action)
{
return '<a id="myLink" href="#" onclick="switchPage(' + cellValue+ ', ' + rowdata.Field1+ ', ' + rowdata.Field2+');">' + cellValue+ '</a>';
}
function switchPage(cellValue,field1, field2) {
// do whatever with field1,field2...
$("#contents").load("jsp/newpage.jsp");
}
答案 1 :(得分:0)
您可以使用数组构建链接字符串,例如......
function returnHyperLink(cellValue, options, rowdata, action) {
var link = "<a id='myLink' href='#' onclick='switchPage(" + cellvalue;
$.each(rowdata, function (index, value) {
link += ", " + value
});
link + ');">' + cellValue + '</a>';
return link
}