下拉数据集 / 下拉列表框, 下拉值发生改变触发 (onChange) 其他操作

需求

imagepng

像上面的报表,参数表单内是一个下拉数据集的筛选条件,每次选完地区后还要点一次“查询”按钮,操作略有一点繁琐。如果下拉值改变后能直接触发查询就更人性化了,且可以不要“查询”按钮,页面也更简洁。

原理上其实很简单,调用 onChange 事件就好了。同时,上面说的只是一种需求情况,下拉控件只要支持了 onChange,我们就可以拿来做我们想做的其他事情,比如可以选新值后异步去后台做些啥事情等等。

润乾报表内的用法

注:该方法适用 下拉数据集和下拉列表框控件。

1、 准备测试报表

Ps:可见附件文件 jiegou.rpx 和 jiegou_arg.rpx,数据源用设计器自带 demo

其中,参数表单编辑风格采用下拉数据集

imagepng

2、 增加 onChange 监听定义

数值变化监听操作需要在报表展现页面增加固定 js 函数实现,下面以设计器自带 demo 应用的 showReport.jsp(路径:report\web\webapps\demo\reportJsp)为例,看下定义方法。

位置:js 脚本内增加

imagepng

为方便拷贝,文字版如下:

function _selectValueChanged(c, v, id) {
 //启用增强逻辑
 _selectValueChanged_selectAndSubmit(v, id, function(){
 //编辑增强逻辑
 alert(v); // 弹窗看看v值
 alert(id); // 弹窗看看id值
 _submit(form1);
});

方法说明:

除 _submit(form1) 外,其他的是固定写法,不要修改。 其中,参数 v 是选择的新值,id 是参数模板内定义的 web 变量名。

因此,即便有多个下拉控件,也可以通过 id 判断是由谁触发其他操作。

注:_submit(form1) 是触发查询的 js 函数。

3、 去掉查询按钮

同样以 showReport.jsp 为例,去除以下代码即可

imagepng

4、 看效果

增加对参数 v 和 id 输出,以动图效果查看如下(查询按钮去除,alert 弹 v 和 id 值效果)

GIF202191110200gif

核心是第 2 步,在页面内增加说明内 js 定义即可。

附件:onChange.zip

以下是广告时间

对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅



嗯,还不太了解好多乾?
猛戳这里
玩转好多乾