JS实现单选按钮组始终保持选中某一选项

  • 文档创建者:yiyemeiying
  • 编辑次数:22次
  • 最近更新:Kevin-s 于 2019-11-19
  • 1. 概述

    1.1 问题描述

    在参数界面,单选按钮组在选中了一个选项后,如果用户再次点击这个选项,按钮会处于未选中状态,这样不够人性化。如果希望单选按钮组始终选中一个,这个要如何实现呢?
    设置前:

    222
    设置后:
    222

    1.2 实现思路

    通过给控件添加【初始化后】和【状态改变】JavaScript 事件来实现!

    初始化 脚本:


    var self = this;
    //鼠标点击事件  
    this.$container.on("mousedown", function() {
        //赋值全局变量 K  
        self.options.K = self.getValue();
    })

    状态改变 脚本:


    var value=this.getValue();
    if(value=="" || value==null){
            this.setValue(this.options.K);
    }
    或者采用定位到指定控件的方法:
    var obj = this.options.form.getWidgetByName("radioGroup0");
    var value=obj.getValue();
    //不允许为空
    if(value=="" || value==null){
        this.setValue(this.options.K);  
    }else{
    this.options.K=value;
    }

    2. 示例

    2.1 单选按钮组属性设置

    1)在参数面板中添加单选按钮组控件和查询控件:

    222

    2)单选按钮组控件值默认为F,定义控件的数据字典为自定义,实际值分别为 F 和 M,显示值分别为女和男,如下图所示:

    image.png

    2.2 添加 JavaScript 事件

    1)选中按钮,添加【初始化后】事件:

    image.png

    2)选中按钮,添加【状态改变】事件:

    image.png

    2.3 预览效果

    保存报表,点击分页预览,报表效果如下图所示:

    222

    注:此方法不支持移动端。

    3. 模板下载

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\参数界面JS实例\02-JS实现单选按钮组始终保持选中某一选项.cpt

    点击下载模板:02-JS实现单选按钮组始终保持选中某一选项.cpt


    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览