如何通过鼠标悬停传参

我想得到的效果是,当鼠标悬停在不同地方时,就把这个值传参,然后显示出某张小报表,里面的数据是因为悬停传参的值做了某种筛选。

比如现在有个字符串值abc(在某个报表块的A1单元格),然后当我鼠标悬停在这个报表块时,将这个值abc传参给到另外一个报表,鼠标指针处会显示某种数据值(最简单的情况就是显示abc)。

求教大佬们如何写js

补充:目前有个参考模板,但是效果实现不了,不知道是我哪里没作对还是模板错了

setTimeout(

function() {

//图标

var tb = _g().options.form.getWidgetByName("report0").element;

//提示窗口

var ck = _g().options.form.getWidgetByName("report00");

ck.setVisible(false);

//鼠标滑过窗口显示

tb.mouseover(function(){

var a = $("#REPORT0").find("td[id^='A1-']").text();//获取report0 A1单元格的值

_g().getWidgetByName('report00').gotoPage(1,"{'aacc':'"+a+"'}",true);//把获取的值作为aacc参数传给report00

ck.setVisible(true);

});

//鼠标滑出窗口隐藏

tb.mouseout(function(){

ck.setVisible(false);

});

}, 50);

FineReport king9901 发布于 2023-7-11 17:31 (编辑于 2023-7-11 17:44)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
king9901Lv4见习互助
发布于2023-7-12 08:56

拖两个报表块0和00,0作为悬停取值的,00作为被传参显现的,首先对0报表设置事件,初始化后,修改后的代码为:

setTimeout(

function() {

var tb =_g().getWidgetByName('report0').element

var ck =_g().getWidgetByName('report00')

ck.setVisible(false);  //初始时要让report00隐藏

//鼠标悬停就完成传参,并将report00显示出来

tb.mouseover(function(){

var a = _g().getWidgetByName('report0').getCellValue("A1");//获取report0 A1单元格的值

_g().getWidgetByName('report00').gotoPage(1,"{'aacc':'"+a+"'}",true);//把获取的值作为aacc参数传给report00

ck.setVisible(true);  //鼠标悬停,则显示report00

});

tb.mouseout(function(){

ck.setVisible(false);  //鼠标离开,则隐藏report00

});

}, 50);

然后在00报表中某个单元格写个函数$aacc   (aacc是参数名,什么js代码里的),之后就完工了,鼠标悬停报表0时,把单元格里的值传给报表00,并且报表00显示出来,鼠标拿走他就消失。

这个的使用场景是这样的,比方说某些方块,鼠标放上去时则显示某种详细数据(跟你悬停位置的值有关),移开则消失

最佳回答
0
胡歌Lv7中级互助
发布于2023-7-11 17:34(编辑于 2023-7-11 17:49)

参考我这个

Form2.7z

  • king9901 king9901(提问者) 谢谢大佬,有一个模板,但是不知道咋地,实现不了效果, setTimeout( function() { //图标 var tb = _g().options.form.getWidgetByName(\"report0\").element; //提示窗口 var ck = _g().options.form.getWidgetByName(\"report00\"); ck.setVisible(false); //鼠标滑过窗口显示 tb.mouseover(function(){ var a = $(\"#REPORT0\").find(\"td[id^=\'A1-\']\").text();//获取report0 A1单元格的值 _g().getWidgetByName(\'report00\').gotoPage(1,\"{\'aacc\':\'\"+a+\"\'}\",true);//把获取的值作为aacc参数传给report00 ck.setVisible(true); }); //鼠标滑出窗口隐藏 tb.mouseout(function(){ ck.setVisible(false); }); }, 50);
    2023-07-11 17:42 
  • 2关注人数
  • 247浏览人数
  • 最后回答于:2023-7-12 08:56
    请选择关闭问题的原因
    确定 取消
    返回顶部