提问
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,极速登录

所有控件 绑定点击事件显示下拉 时间 树形 多选框等

zchzch 社区微信达人实名认证 番薯互助团队 互助新人
发表于 2017-9-15 16:51 | 显示全部楼层 |取消关注该作者的回复
    背景:
       由于项目中有很多的下拉控件,日期控件,树形控件,多选控件等,在论坛中发现解决方案都是对每一个控件进行单独的事件绑定,如果存在太多这样的控件
      每次都设置的话会导致很多重复的工作,so 我们需要一次对所有这样的控件进行一次绑定即可:

      实现原理:
           在表单初始化完成后,进行参数绑定事件
        eg:
2214259bb916d78dcd.png
    事件如下:
9877659bb91942d3be.png
    由于本项目的集成是用ifream集成,因此调用的是父窗口的函数
    window.parent.initParam(this);
    如果不用ifream 可以自定义js文件,然后引入到当前的报表页面:
   推荐:把js引入到当前的报表页面,原因:可能当前的报表以后会被其他的报表引用,这样就会出现找不到window.parent.initParam 函数的形式


initParam  函数如下:
//自定义初始化控件后点击文本框会弹出对应的显示框
function initParam(obj){
        $.each(obj.options.form.name_widgets,function(i,item){   
            //如果是标签控件不做处理,如果是时间类型,下拉类型,多选框,树形结构就设置点击当前的文本框事件
             if (item.options.type !=='label' && (item.options.type==='combo' || item.options.type==='datetime' || item.options.type === 'tagcombocheckbox'|| item.options.type === 'treecombobox')) {
                            //设置点击事件
                            var self = item;
                            self.options.name4Empty = "全部选择"  ;//下拉框替换默认的 不选
                        $('input',item.element).click(function(){  
                            if(self.$view.css('display')=='none'){  
                                self.onTriggerClick();  
                            }  
                        });
                    }   
                });
}      


对于表单页面还需要设置body加载完成后的事件,因为body中也可能有下拉框等这样的控件
   表单页面的组成部分:

   968259bb939d1e55d.png

选中后选择事件
3839059bb93bb461aa.png
然后把上面的js放进去即可。

最后效果:
2755359bb9489a9381.png


编辑于 2017-9-15 16:54  
编辑于 2017-9-15 16:55  

评分

参与人数 1F币 +34 收起 理由
兔子酱 + 34 感谢参与精华帖奖励计划!

查看全部评分

此帖共有 174 位番薯登录后查看
回复

使用道具 举报

兔子酱 社区微信达人帆软员工 管理员
发表于 2017-9-27 11:33 | 显示全部楼层 |取消关注该作者的回复
根据帆软论坛运营委员最终评分,本篇帖子综合得分34分,具体参见:帆软论坛精华帖奖励计划
恭喜@ zchzch,同时也希望更多的番薯积极参与精华帖奖励计划!
  • 评论

回复 支持 反对

使用道具 举报

Donotkillme1 社区微信达人 初学乍练(Lv1)
发表于 2017-9-15 17:15 | 显示全部楼层 |取消关注该作者的回复
又学到了一手
  • 评论

回复 支持 反对

使用道具 举报

austin1122 社区微信达人番薯互助团队 互助新人
发表于 2017-9-16 07:57 | 显示全部楼层 |取消关注该作者的回复
  • 评论

回复 支持 反对

使用道具 举报

茉莉  初出茅庐(Lv3)
发表于 2017-9-18 09:44 | 显示全部楼层 |取消关注该作者的回复
学习借鉴
  • 评论

回复 支持 反对

使用道具 举报

兔子酱 社区微信达人帆软员工 管理员
发表于 2017-9-18 13:40 | 显示全部楼层 |取消关注该作者的回复
已提名精华帖,待论坛运营委员会评分后可评为精华帖。帆软论坛精华帖奖励计划http://bbs.fanruan.com/thread-91079-1-1.html
  • 评论

回复 支持 反对

使用道具 举报

zchzch 社区微信达人实名认证 番薯互助团队 互助新人
发表于 2017-9-27 11:40 | 显示全部楼层 |取消关注该作者的回复
橙子君 发表于 2017-9-18 13:40
已提名精华帖,待论坛运营委员会评分后可评为精华帖。帆软论坛精华帖奖励计划http://bbs.fanruan.com/threa ...

  • 评论

回复 支持 反对

使用道具 举报

iShine  初学乍练(Lv1)
发表于 2017-10-17 13:55 | 显示全部楼层 |取消关注该作者的回复
学习一下!
  • 评论

回复 支持 反对

使用道具 举报

萧静元 社区微信达人 初学乍练(Lv1)
发表于 2017-11-24 11:32 | 显示全部楼层 |取消关注该作者的回复
捧场王来啦
  • 评论

回复 支持 反对

使用道具 举报

萧静元 社区微信达人 初学乍练(Lv1)
发表于 2017-11-24 11:33 | 显示全部楼层 |取消关注该作者的回复
棒棒棒
  • 评论

回复 支持 反对

使用道具 举报

lideqiang 社区微信达人实名认证 帆软员工 初学乍练(Lv1)
发表于 2017-12-7 22:33 | 显示全部楼层 |取消关注该作者的回复
6666666
  • 评论

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

Copyright © 帆软|联系帆软| 联系管理员@兔子酱|免责声明|手机版|帆软社区 ( 苏ICP备14031611号-3 )

GMT+8, 2018-9-26 09:07 , Processed in 0.945770 second(s), 156 queries , Gzip On.

返回顶部 返回列表