填报js获取控件

怎么获取填报控件呢,事件为初始化事件

var city=contentPane.getWidgetByName("city")

这个获取不到对象呢

image.png

setTimeout(function(){

var head=contentPane.getWidgetsByName("head");  

if(head[0]!=undefined)

{

for(var i=0;i<head.length;i++)

if(head[i].getValue()=='总公司'){

var park = contentPane.getWidgetsByName("park");

var city = contentPane.getWidgetsByName("city");

city[i].setEnable(false);

park[i].setEnable(false);

}else if(head[i].getValue()!='总公司'){

head[i].setEnable(false);

}

}

}

else 

{

alert(head[0].getValue())

alert(head[1].getValue())

alert(head[2].getValue())

}


},100)


FineReport free_zz 发布于 2020-6-4 18:38 (编辑于 2020-6-5 09:56)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
shirokoLv6资深互助
发布于2020-6-5 08:29

初始化的时候控件不一定加载完成了。设定延时

setTimeout(function(){
var city=contentPane.getWidgetByName("city");

},100)



  • free_zz free_zz(提问者) 扩展后的控件没法 生效呢 ,可以获取到么
    2020-06-05 09:25 
  • shiroko shiroko 回复 free_zz(提问者) 扩展后?那是有多个名字叫city的吗?考虑换成getWidgetsByName,获取到的是多个控件构成的数组
    2020-06-05 09:32 
  • free_zz free_zz(提问者) 回复 shiroko 可以 我自己写好了
    2020-06-05 09:55 
最佳回答
0
wfok1987Lv6见习互助
发布于2020-6-4 18:44

放这里试试

image.png

最佳回答
0
张洪威Lv6高级互助
发布于2020-6-4 19:36

初始化的时候直接条件属性生成控件就行了,不需要写js。

最佳回答
0
ThorAsgardLv4见习互助
发布于2020-6-5 07:55

如果是获取当前控件, 在初始化事件里面直接用this就行了

其他的用 _g().getWidgetByName("city")

最佳回答
0
snrtuemcLv8专家互助
发布于2020-6-5 08:41

在参数界面、决策报表界面获取控件的方法是相同的,先获取决策报表,再通过控件名称来获取控件,如下所示:

var Widget = this.options.form.getWidgetByName("WidgetName");

在 cpt 填报时获取控件,先获取报表对象 contentPane,再通过控件名称来获取控件,如下所示:

var Widget = contentPane.getWidgetByName("WidgetName");


  • 6关注人数
  • 711浏览人数
  • 最后回答于:2020-6-5 09:56
    请选择关闭问题的原因
    确定 取消
    返回顶部