【CPT填报】如何用JS实现根据下拉框的值控制同一行的几个文本组件不可用

image.png

4个填报组件:1个下拉框,3个文本框。如图所示,想要实现如下效果:

当下拉框的值为“采购部”时,只有"采购目标"列的文本框组件可用,其它两列的文本框不可用;

当下拉框的值为“销售部”时,只有"销售目标"列的文本框组件可用,其它两列的文本框不可用;

当下拉框的值为“研发部”时,只有"研发目标"列的文本框组件可用,其它两列的文本框不可用。

求大佬写个JS!!!

image.png

FineReport 赤贫青年 发布于 2022-8-2 14:59
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-8-2 15:03(编辑于 2022-8-2 15:13)

var a=this.getValue();

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

var a1 = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+1, row: ro}));

var a2 = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+2, row: ro}));

var a3 = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+2, row: ro}));

if(a=="采购部"){

a1.setEnable(true);

a2.setEnable(false);

        a3.setEnable(false);

}

else if(a=="销售部"){

a1.setEnable(false);

a2.setEnable(true);

        a3.setEnable(false);

}

else if(a=="研发部"){

a1.setEnable(false);

a2.setEnable(false);

        a3.setEnable(true);

}

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-8-2 15:00(编辑于 2022-8-2 15:30)

控件值决定其它控件是否可用.zip

参考

--------------

居然说没实现,有明白人下一个看看不~~~~~囧

  • 1关注人数
  • 385浏览人数
  • 最后回答于:2022-8-2 15:30
    请选择关闭问题的原因
    确定 取消
    返回顶部