历史版本8 :JS实现参数控件赋值 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
参数界面中,往往需要在一个控件中动态的控制其他控件的值,如下图,当username有值时,state自动变为1,当username无值时,state自动变为2。

2. 解决方案编辑
可以通过js脚本获取到需要的控件,从而获得控件的值,及给控件赋值。
3. 示例编辑
我们制作一个简单的例子实现上图效果。
3.1 参数界面
新建模版,添加两个模版参数:username和state,并添加到参数面板中,如下图参数面板所示:

username控件类型为下拉框控件,数据自定义,实际值和显示值都为:jerny,anna,merry。
state控件类型为单选按钮组控件,数据也为自定义,实际值和显示值都为:1,2。
3.2 JS事件设置
在username的事件编辑中添加编辑后事件,如下图所示:

JS代码如下:
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。
4. 保存预览编辑
保存模版,选择分页预览,实现效果如上图所示。