JS实现参数控件赋值
1. 描述
参数界面中,往往需要在一个控件中动态的控制其他控件的值,如下图,当username有值时,state自动变为1,当username无值时,state自动变为2。
2. 思路
可以通过js脚本获取到需要的控件,从而获得控件的值,及给控件赋值。
3. 操作步骤
我们制作一个简单的例子实现上图效果。
3.1 参数界面
1)新建模版,点击菜单模板-模板参数,添加两个模版参数:username和state:






3.2 JS事件设置
选择下拉框控件username,添加编辑后事件,如下图所示:

var state = this.options.form.getWidgetByName("state");
var username = this.options.form.getWidgetByName("username").getValue();
if(!username) {
state.setValue(2);
} else {
state.setValue(1);
}
注:该段代码是用来对state参数置数,当username为空时,!username为真,此时将state置数为2;否则当username有值时,将state置数为1。
注:移动端需要将3.2中的js代码添加到编辑结束事件中。为了PC端和移动端可以在一个模板中实现一样的效果,可以 同时添加编辑后和编辑结束事件,JS代码一样。
3.3 保存预览
保存模版,选择分页预览,实现效果如上图所示。
4. 预览效果
4.1 PC端预览效果
5. 已完成模板
模板效果在线查看请点击:JS实现参数控件赋值.cpt
已完成的模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\JS\参数界面JS实例\15-JS实现参数控件赋值.cpt
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)