怎么获取工具栏中,点击那个按钮的下标

image.png

比如:点击【提交】,获取的下标是0;点击【暂存】,获取的下标是1;……

test002.zip

js脚本

new 9.zip

FineReport 虎虎生威 发布于 2023-4-14 17:59 (编辑于 2023-4-18 11:16)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
qiqits1984Lv6中级互助
发布于2023-4-15 09:54(编辑于 2023-4-18 10:36)

模板web属性-加载结束-加入以下代码。

//查找工栏项目放入数组

//给每个项目绑定事件

//返回这个项目在数组中的位置

var arr = []; var i = 0; while (i < 15) { var tool = _g().toolbar.options.items[i]; if (typeof(tool) != "undefined") { var w = tool.options.text; arr.push(w); console.log(w); $("button:contains(" + w + ")").bind("click", function() { var t = $(this).text(); var x = jQuery.inArray(t, arr); alert(x); }); } i++; }

点击按钮显示数字.zip

123.gif

  • 虎虎生威 虎虎生威(提问者) 模板web属性->填报前 时间 $(\"button[class=\'fr-btn-text x-emb-stash\']\").bind(\"click\", function() { var arr = []; var i = 0; while (i < 15) { var tool = _g().toolbar.options.items[i]; if (typeof(tool) != \"undefined\") { arr.push(tool.options.text); } i++; } console.log(\"这个段落被点击了 >>>\" + arr); //alert(\"这个段落被点击了。\" + arr); }); 我验证了下: 控制台打印出来的结果: 这个段落被点击了 >>>暂存,提交,数据校验,打印,原样导出 而不是点击【提交】按钮,控制台就打印提交;点击【暂存】按钮,控制台就打印暂存
    2023-04-15 14:36 
  • 虎虎生威 虎虎生威(提问者) 在while循环外面定义一个全局变量,然后把x的值赋给这个全局变量……但是这个全局变量拿不到x的值
    2023-04-18 07:59 
  • 虎虎生威 虎虎生威(提问者) 回复 qiqits1984 意思是:只要点击某个按钮后的哪一个下标值,而不是全部的值
    2023-04-18 09:05 
  • 虎虎生威 虎虎生威(提问者) 回复 qiqits1984 这个参数拿不到这个值
    2023-04-18 09:05 
  • 虎虎生威 虎虎生威(提问者) 回复 qiqits1984 填报后事件: var arr = []; var num = 0; var i = 0; var jsonStr = \"\"; while (i < 3) { var tool = _g().toolbar.options.items[i]; if (typeof(tool) != \"undefined\") { var w = tool.options.text; arr.push(w); $(\"button:contains(\" + w + \")\").bind(\"click\", function() { var t = $(this).text(); var x = jQuery.inArray(t, arr); if(x == 0){num = 1;break;} if(x == 1){num = 2;} }); } i++; } console.log(\"val >>>\" + num); function hjy(status) { var jsonObject = { \'id\': id, \'tenantId\': tenantId, \'ids\': ids, \'status\': num, \'type\': 0, \'itemListSize\': itemListSize, \"inTaxAmount\": inTaxAmount, \'createdBy\': userId }; return JSON.stringify(jsonObject); } console.log(\"jsonStr >>>\" + jsonStr); $.ajax({ url: \'XXXXXXXXXXXXXXXXX\', type: \"post\", contentType: \"application/json; charset=utf-8\", data: jsonObject, success: function() { //FR.Msg.alert(\"提示\", \"成功!\"); //window.parent.location.reload(); }, error: function() { //FR.Msg.alert(\"提示\", \"失败!\"); } }); console.log(\"val >>>\" + num); 获取不到里面赋的值
    2023-04-18 11:04 
最佳回答
0
congerLv6高级互助
发布于2023-4-15 09:46

先获取工具栏所有对象,然后获取【提交】【暂存】等名字存入数组中

然后给工具栏的按钮绑定click事件

点击事件,将点击的按钮内容提取出来,然后遍历数组

因为之前按钮名称是顺序放入数组的,所以数组的下标就是你要的下标

参考

https://help.fanruan.com/finereport10.0/doc-view-4010.html

https://blog.csdn.net/m0_64346035/article/details/125099341

【以下是点击提交获取到的dom元素】,你在自己提取button的内容与数组匹配就好了

image.png

  • 3关注人数
  • 716浏览人数
  • 最后回答于:2023-4-18 11:16
    请选择关闭问题的原因
    确定 取消
    返回顶部