列表中实现悬停单元格显示图片。

帮助文档里有个js实例:列表中悬停单元格显示图片,地址如下

http://help.finereport.com/doc-view-2478.html

实例中给出的是固定图片,我的图片是根据商品编码来的,图片名就是编码

我用A3商品码做参数,修改了 src="uploads/201810/"+A3+".png" />

(说明:A列是商品编码列,单元格A3就是商品编码)

同样的写法,单元格里用toimage或者webimage可以获取到图片,但是在这个实例里就显示不了图片。

请教:

1、这里的js怎么写才能实现悬停商品编码显示相应的图片?

2、悬停出来的图片显示在报表上,如何修改图片出现的位置,改到右边报表明细外

489.png

放到单元格里是可以显示对应图片的

213.png

frzhangms 发布于 2019-5-15 09:33 (编辑于 2019-5-15 13:29)
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
皮卡皮卡丘Lv4中级互助
发布于2019-5-15 14:22(编辑于 2019-5-15 15:03)

这样传递参数


image.png

  • frzhangms frzhangms(提问者) 收到。谢谢。我试一下。
    2019-05-15 15:04 
  • frzhangms frzhangms(提问者) 虽然我试了一下还是不行,不过这几天你一直在持续跟进,非常感谢,采纳了你的答案。 我把我最后解决的方法也写下来。 谢谢。
    2019-05-15 17:15 
最佳回答
0
axingLv6专家互助
发布于2019-5-15 09:45

你这里写成中文的引号了

blob.png

  • frzhangms frzhangms(提问者) 请教一下,该怎么写?js我一点都不懂。惭愧。
    2019-05-15 09:48 
最佳回答
0
firegunzxLv6高级互助
发布于2019-5-15 10:47

src="uploads/201810/"+A3+".png

用这个试试

一定不要有中文标点符号

  • frzhangms frzhangms(提问者) 感谢。改过了,还是不行。 问题描述里的符号应该是我写问题没注意,实际cpt里面确定都是英文的 我把它放到单元格里,用toimage或者webimage都能取到相应的图片
    2019-05-15 11:52 
最佳回答
0
frzhangmsLv5见习互助
发布于2019-5-15 17:18(编辑于 2019-6-9 21:34)

帮助文档中的js是这么写的

$(".x-table td[id^=E]").tooltip({

placement: "right",

html: true,

title: function() {

var goodsno = $(this).html();

return '<img width=180 height=250 src="uploads/201810/20181022165252_3704.png" />';

}

});

goodsno应该是就是抓取的商品编码,把"uploads/201810/20181022165252_3704.png"改为"uploads/201810/'+goodsno+'.png"

就可以实现悬停编码单元格显示显示相应的图片了。

最佳回答
0
luojian0323Lv7资深互助
发布于2019-6-8 16:35

楼主你搞定没.按照上面说的.图片显示黑的.什么也没有.我的是远程路径.

  • frzhangms frzhangms(提问者) 就是按照上面我写的搞好的 js我也不懂,照猫画虎改的。 我的状况是: 1、商品码在A列,第一行的td[id^=E]改成td[id^=A] 2、第五行,var goodsno = $(this).html(); 这个应该是定义的参数,获取改行A列的内容 3、最后这行,src=\"uploads/201810/20181022165252_3704.png\" 改成我自己的地址,src=\"http://XXXX/XXX/\'+goodsno+\'.png\" (答案里我写错了,+goodno+外面是单引号) 我这里就哦了。 希望对你有帮助
    2019-06-09 21:31 
最佳回答
0
cnlnmasiLv3见习互助
发布于2022-7-20 15:55

这个问题的根本原因是因为 var goodsno = $(this).html(); 这一段里面,取到的值包含了 html信息

用alert(goodsno ) 可以查看取到的具体值,如图:

111.png

笨一点的解决方案,直接用 substring 函数去截取goodsno的值

//假设在B列做悬停显示图片,图片的地址是固定url+xxx.jpg。

$(".x-table td[id^=B]").tooltip({

placement: "right",

html: true,

title: function() {

var pic_id = $(this).html();//获取当前单据元的值

var idd=pic_id.substring(46,55); //从46位开始取,到55位结束

//return '<img width=180 height=250 src="https://help.fanruan.com/finereport10.0/view/help2017/images/xiaofan.png" />';

//若图片地址是固定地址url+xxx.png/.jpg

//return '<img width=180 height=250 src="http://XXX.COM/'+idd+'.jpg" />';

alert(idd);

}

});

  • hfjsiwbdhx hfjsiwbdhx 用 $(this).text()不行吗。这样就直接取到值。
    2022-11-08 10:03 
  • cnlnmasi cnlnmasi 回复 hfjsiwbdhx 经测试 $(this).text() 是可行的 用我上面的代码小改下就可以用 $(this).text()通用性更好
    2022-11-29 16:38 
  • 走丢的王多鱼 走丢的王多鱼 回复 cnlnmasi 本地路径应该是不行的吧
    2024-06-03 18:26 
  • 6关注人数
  • 1172浏览人数
  • 最后回答于:2022-7-20 15:55
    请选择关闭问题的原因
    确定 取消
    返回顶部