jqgrid 某一列添加超链接之后,该列真实值取不到

这是要添加超链接的列:

{   
name: 'posttitle',//键名  
label: '帖子标题',//标题  
align : 'center',   
valign : 'middle',  
formatter:editLink 
},

这是 editLink:

 function editLink(cellValue, options, rowObject, action)
{
return "<a href='javascript:void(0)' style='color:blue;'
onclick=gotoPost('"+rowObject.id+"')>"+cellValue+"</a>";
}

这是onclick 执行的跳转 gotoPost:

 function gotoPost(id)
{   
$('#jqGrid').jqGrid('resetSelection');  
$('#jqGrid').jqGrid('setSelection',id); 
var a = $('#jqGrid').getGridParam("selarrrow"); 
var b = $('#jqGrid').jqGrid('getRowData',a[0]);
window.location.href="a.jsp?&posttitle="+b.posttitle;
}

这是出问题的地方:跳转到 a.jsp 之后,发现参数 posttitle 的值变成了 “<a href ”。就这一列变了,其他列正常。
请问问题出在哪里呀?应该怎么解决?

3个回答

自定义格式化函数要配置unformat,否则就是格式化后的内容

 {   
name: 'posttitle',//键名  
label: '帖子标题',//标题  
align : 'center',   
valign : 'middle',  
formatter:editLink ,
unformat:function(html){//html就是formatter返回的a的连接的html
return $(html).text()
}
},

参考:
jqGrid自定义格式化类型
jqGrid单元格自定义显示设置及getRowData获取原始数据示例

weixin_43683137
weixin_43683137 回复NRlovestudy: 如何写?
大约一年之前 回复
weixin_43683137
weixin_43683137 回复NRlovestudy: 在哪里写了,为什么我写的不对了
大约一年之前 回复
NRlovestudy
NRlovestudy unformat 函数里直接 return cellValue; 就行了
接近 2 年之前 回复
NRlovestudy
NRlovestudy 正解,非常感谢!
接近 2 年之前 回复

用alert观察那个值 或者再看看有没有重命名

var a = jQuery("#jqGrid").jqGrid('getGridParam', 'selarrrow');

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐