求大神帮忙修改一段JS,实现隐藏筛选框

测试.zip

如果level是3或者4,那么全部的隐藏所有控件

if(a==3||a==4){

this.options.form.getWidgetByName("lab1").setEnable(false);

this.options.form.getWidgetByName("statdate").setEnable(false);

this.options.form.getWidgetByName("lab2").setEnable(false);

this.options.form.getWidgetByName("org_lv2_code1").setEnable(false);

this.options.form.getWidgetByName("lab3").setEnable(false);

this.options.form.getWidgetByName("org_lv3_code1").setEnable(false);

this.options.form.getWidgetByName("lab4").setEnable(false);

this.options.form.getWidgetByName("org_lv4_code1").setEnable(false);

this.options.form.getWidgetByName("button0").setEnable(false);

this.options.form.getWidgetByName("Search").setEnable(false);

}else {    

this.options.form.getWidgetByName("lab1").setEnable(true);

this.options.form.getWidgetByName("statdate").setEnable(true);

this.options.form.getWidgetByName("lab2").setEnable(true);

this.options.form.getWidgetByName("org_lv2_code1").setEnable(true);

this.options.form.getWidgetByName("lab3").setEnable(true);

this.options.form.getWidgetByName("org_lv3_code1").setEnable(true);

this.options.form.getWidgetByName("lab4").setEnable(true);

this.options.form.getWidgetByName("org_lv4_code1").setEnable(true);

this.options.form.getWidgetByName("button0").setEnable(true);

this.options.form.getWidgetByName("Search").setEnable(true);

}

 

 

FineReport 一只小菜鸟 发布于 7 天前 (编辑于 6 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于7 天前(编辑于 6 天前

你如果是FR11的话,你要写在加载结束后事件,而且要加一下延时,不知道你的a是如何获取值的

FR10的方式

setTimeout(function() {

let level = _g().parameterEl.getWidgetByName("level").getValue();

if (level == 3 || level == 4) {

$.each(_g().parameterEl.name_widgets, function(i, item) {

item.setEnable(false);

});

}

}, 800)

image.png

image.png

  • 一只小菜鸟 一只小菜鸟(提问者) 老师 我是10的版本CPT报表,循环控件怎么加?
    2025-03-14 09:34 
  • CD20160914 CD20160914 回复 一只小菜鸟(提问者) 那就是我最后一个,那里有循环所有控件!!你cpt是用在参数面板上面吗?如果是的话就直接用我最后一段循环那一个
    2025-03-14 09:41 
  • 一只小菜鸟 一只小菜鸟(提问者) 回复 CD20160914 对的 ,用在参数面板,在模版web属性里面新增个加载结束后,对吧?
    2025-03-14 09:43 
  • CD20160914 CD20160914 回复 一只小菜鸟(提问者) 就是加载结束后事件,不过也要加一个延时的代码
    2025-03-14 09:45 
  • 一只小菜鸟 一只小菜鸟(提问者) 回复 CD20160914 setTimeout(function() {
    if (level == 3 || level == 4) {
    $.each(this.options.form.name_widgets, function(i, item) {
    if ((item.options.type !== "label" && item.options.type !== "button")) {
    item.setEnable("false");
    }
    });
    }
    }, 800)
    2025-03-14 10:03 
  • 2关注人数
  • 52浏览人数
  • 最后回答于:6 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部