如何通过单选按钮组件进行选择后,对其他组件进行显隐控制

目标需求实现效果:点击不同的参数类型,对不同参数类型的选择控件进行显隐,已实现代码

var 储量规模= this.options.form.getWidgetByName("储量规模");

var Label储量规模= this.options.form.getWidgetByName("Label储量规模");

var 储量级别= this.options.form.getWidgetByName("储量级别");

var Label储量级别= this.options.form.getWidgetByName("Label储量级别");

var 油气田作业类型= this.options.form.getWidgetByName("油气田作业类型");

var Label油气田作业类型= this.options.form.getWidgetByName("Label油气田作业类型");

var 参数类型= this.options.form.getWidgetByName("参数类型");

var 参数类型value = this.getValue(参数类型);

if(参数类型value == 'jichu') {

    储量级别.setVisible(true);

    Label储量级别.setVisible(true);

    油气田作业类型.setVisible(true);

    Label油气田作业类型.setVisible(true);

    储量规模.setVisible(false);

    Label储量规模.setVisible(false);

} else if (参数类型value == 'chuceng') {    

    储量规模.setVisible(true);

    Label储量规模.setVisible(true);

    储量级别.setVisible(false);

    Label储量级别.setVisible(false);

    油气田作业类型.setVisible(false);

    Label油气田作业类型.setVisible(false);

}

由于参数控件较多,只能每一个都手动设置吗?有简单方法吗,例如遍历等

image.png

FineReport 丶尛伟 发布于 2024-11-4 15:13
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-11-4 15:15

手动设置吧~简单明了

最佳回答
0
snrtuemcLv8专家互助
发布于2024-11-4 15:15

目前你的命名方式,只能一个一个写

币可以命名按规则,XX1,XX2这个格式,你可以循环做

  • 丶尛伟 丶尛伟(提问者) 能否举个例子按规则命名实现的例子,参数有大概40来个,一个个写太繁琐了
    2024-11-04 15:20 
最佳回答
0
CD20160914Lv8专家互助
发布于2024-11-4 15:16(编辑于 2024-11-4 16:17)

jQuery语法- FineReport帮助文档 - 全面的报表使用教程和学习资料

image.png

测试用例:

var a = this.options.form.getWidgetByName("控件名称").getValue();

$.each(this.options.form.name_widgets, function(i, item) {

  if(a=="chuceng" && item.getName()="储量级别"){

    item.setVisible(false);  

  }   

 }

 );

  • 丶尛伟 丶尛伟(提问者) 控件名称在数组里的设置显示,不在数组里的设置隐藏?
    2024-11-04 15:21 
  • CD20160914 CD20160914 回复 丶尛伟(提问者) 你把隐藏的代码加到循环中去了。
    2024-11-04 15:30 
  • 丶尛伟 丶尛伟(提问者) 回复 CD20160914 我对控件进行分类,基础参数1,基础参数2,储层参数1,储层参数2,如何按分类进行显隐控制?
    2024-11-04 16:09 
  • CD20160914 CD20160914 回复 丶尛伟(提问者) 判断参数的值,再判断参数的名称就去隐藏了,上面的语句修改了。自己增加判断的标准了
    2024-11-04 16:16 
  • 丶尛伟 丶尛伟(提问者) 回复 CD20160914 var a = this.options.form.getWidgetByName("参数类型").getValue(); $.each(this.options.form.name_widgets, function(i, item) { if(a=="基础" && (item.getName()=="储量级别" || item.getName() == "油气田作业类型" || item.getName()=="LABEL储量级别" || item.getName() == "LABEL油气田作业类型")){ item.setVisible(true); } else if (a == "储层" && (item.getName()=="储量规模" || item.getName()=="LABEL储量规模" )){ item.setVisible(true); } } ); 切换基础和储层的时候,如何对不属于这类的控件进行隐藏呢
    2024-11-04 17:15 
  • 4关注人数
  • 151浏览人数
  • 最后回答于:2024-11-4 16:17
    请选择关闭问题的原因
    确定 取消
    返回顶部