JS获取扩展控件的所有值

  • 文档创建者:cherishdqy
  • 编辑次数:13次
  • 最近更新:星踪 于 2021-04-22
  • 1. 概述

    1.1 问题描述

    在做填报报表时,添加的填报控件是扩展显示的,需要获取扩展的填报控件的所有值。如下图所示,获取单选按钮组控件扩展的所有值。

    222

    1.2 实现思路

    利用控件接口,根据控件名获取控件对象数组,遍历获取所有控件选择的值。接口说明可以参考:控件接口


    2. 示例

    2.1 准备扩展控件

    2.1.1 单选按钮组控件

    1)新建模板,在 A1 单元格添加「单选按钮组控件」,控件名设置为 p1,如下图所示:

    注:控件名称 p1 将和即将添加点的 JS 配合使用,若修改,请修改 JS 中相应的代码。

    image.png

    2)选定 A1 单元格,设置 A1 单元格纵向扩展,如下图所示:

    image.png

    3)选定 A1单元格「单选按钮组控件」,给单选按钮组控件添加数据字典,如下图所示:

    image.png

    2.1.2 插入行按钮

    在 B1 单元格中添加「按钮控件」,设置按钮类型为「插入行」,指定单元格为 A1,如下图所示:

    image.png

    2.2 获取扩展控件值

    1)在 A3 单元格中添加「按钮控件」,设置按钮类型为「普通」,按钮名字为「获取单选按钮组所有值」,如下图所示:

    image.png

    2)为 A3 单元格「按钮控件」,添加一个「点击」事件,如下图所示:

    image.png

    JavaScript 代码如下:

    var temp = "";
    var arr = _g().getWidgetsByName("p1");
    //获取扩展单选按钮组p1的控件对象数组
    if (arr[0] != undefined) {
    for (var i = 0; i < arr.length; i++) {
    temp = temp + arr[i].getValue() + ' ';
    //如果控件长度大于1,则遍历获取控件值并拼接
    }
    } else {
    temp = arr.getValue();
    //如果控件长度为1,则直接获取控件值
    }
    alert(temp);

    2.3 预览效果

    2.3.1 PC 端

    保存模板,选择「填报预览」,PC 端实现效果下图所示:

    222


    2.3.2 移动端

    App 及 HTML5 效果如下图所示:

    222


    3. 模板下载

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\37-JS获取扩展控件的所有值.cpt

    点击下载模板:37-JS获取扩展控件的所有值.cpt


    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526