如何在 JQGard 中单击图像时显示大图像
how to show large image if clicking in image in jqgrid
jqgrid图像列使用下面的colmodel定义。在表单编辑模式下,如果鼠标悬停在图像上,光标将变为手,但单击图像将被忽略。
如果在图像中单击,如何在分离窗口中显示大图像?大图像由 url 'http://localhost/Grid/GetImage?id=' + options.rowId
(不带大小参数)引用。
{"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。我需要将行 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},
例如,
您可以使用onCellSelect
或beforeSelectRow
来捕获图像上的click
并实现所需的任何自定义操作(例如显示大图像)。
如果只需要在编辑模式下对图像click
实现某些操作dataEvents
则可以使用编辑选项的属性。
如果您将格式化程序返回更改为类似 <a href="LARGE_IMAGE_URL"><img src="IMAGE_URL" /></a>
的内容怎么办?这是你想要的吗?
相关文章:
- 非常大的图像显示渐进
- CSS Html使图像显示在单选按钮的选项上(单选按钮被CSS隐藏)
- JS照片库.使大图像显示和缩略图可单击
- 多个图像显示带有动态创建的画布的最后一个图像并分配给图像
- 当我在jquery/javascript中单击按钮时加载图像显示
- React图像显示
- 随机图像显示,无重复,使用Javascript
- 将跨度内容(图像url)转换为图像(显示)
- 随机图像显示不止一次
- 节点.js 使用 Multer 上传图像显示未定义
- 范围滑块,用于更改轨道上方对齐圆的直径并使对齐的图像显示在下方
- 使用图像显示和隐藏
- 使用 JavaScript 将文件夹中的图库图像显示到网页中
- 画布到图像显示为无图像(空白)
- 传单不会将本地图像显示为叠加
- 切换此元素时,如何使不同的图像显示,而不是文本
- 在页面加载时将图像显示为弹出窗口
- 如何在模糊浏览器主窗口时将图像显示为叠加层
- iOS在画布上绘制图像显示:无会导致内存泄漏
- JavaScript 图像显示不起作用