web开发--重写表格全选按钮事件原创
2人赞赏了该文章
461次浏览
编辑于2022年03月21日 14:25:06
如下图,全选后"快速审批按钮"不显示了
我们先来调试找到原因,按钮被隐藏了,估计是通过设置元素的属性控制的,那就先定位元素:
由上面两图可知,是通过设置style="display: none;"实现隐藏的, 那怎么找到设置隐藏的代码呢,
监听DOM属性改变事件就行,如下图:
打断点后通过堆栈就能找到js方法
这样就找到控制隐藏"快速审批"按钮的方法了, 问题来了,这是标准的方法,怎么修改呢,
我们先看一下配置页面
发现配置页面并没有全选按钮,也就是不能在配置页面直接给全选按钮添加重写的方法。
不怕,老哥找到了重写的方法。
方法如下:
1、添加页面打开后事件
2、重写全选按钮事件
代码:
//重写表格全选框afterSelectAll事件 waf("#queryGrid").wafGrid("option","afterSelectAll",function(event){ var ishidden = true; waf("#btnViewBill").wafLinkButton("option","hidden",ishidden); waf("#btnWfDiagram").wafLinkButton("option","hidden",ishidden); waf("#btnApproveDetail").wafLinkButton("option","hidden",ishidden); waf("#btnDeliver").wafLinkButton("option","hidden",ishidden); waf("#btnPass").wafLinkButton("option","hidden",ishidden); //注释隐藏快速审批按钮方法 //waf("#btnQuickApprove").wafLinkButton("option","hidden",ishidden); }); //重写表格全选框afterCancelSelect事件 waf("#queryGrid").wafGrid("option","afterCancelSelect",function(event){ var ishidden = false; waf("#btnViewBill").wafLinkButton("option","hidden",ishidden); waf("#btnWfDiagram").wafLinkButton("option","hidden",ishidden); waf("#btnApproveDetail").wafLinkButton("option","hidden",ishidden); waf("#btnDeliver").wafLinkButton("option","hidden",ishidden); //注释显示传阅按钮方法 //waf("#btnPass").wafLinkButton("option","hidden",ishidden); waf("#btnQuickApprove").wafLinkButton("option","hidden",ishidden); });
重写afterCancelSelect方法把"快速审批"按钮显示出来就可以了
推荐阅读