jqgrid 图像列使用下面的 colmodel 定义。在表单编辑模式下,如果鼠标悬停在图像上,光标变为手形,但在图像中单击将被忽略。
如果单击图像,如何在单独的窗口中显示大图像?大图由 url'http://localhost/Grid/GetImage?id=' + options.rowId
获取(没有 size 参数)。
{"label":"Logo","name":"_image_Logo","edittype":"image",
"editoptions":{"src":""},
"editable":true,
"formatter":function(cell,options,row) {
return '<img src="http://localhost/Grid/GetImage?size=150&id=' +
options.rowId +'" />';
} ,
"search":false,"title":false,"width":150},
{"edittype":"file","label":"","name":"Logo","search":false,
"title":false,"width":150,"hidden":true,
"editrules":{"edithidden":true},"editable":true}
更新
我在下面使用 colmodel 尝试了 Oleg 和 Michael 的建议。我需要将行 ID 传递给图像控制器。在网格中单击图像工作正常,打开大图像。options.rowId
返回图像 ID。
在编辑表单中,不传递行 ID。如何通过options.rowId
而不是e.target.id
点击事件?
{"name":"Image",
"edittype":"image",
"editoptions":{
"src":"",
"dataEvents":[{"type":"click","fn":function(e) {
window.open('GetImage?id=' + e.target.id, e.target.id )
}
}]},
"editable":true,
"formatter":function(cell,options,row) {
return '<a href="GetImage?id=' + options.rowId+'"><img src="GetImage?size=54&id=' +
options.rowId +'" /></a>';
}
,"search":false,"title":false,"width":54},