我的页面上有几个下拉菜单,一个隐藏的项目和一个按钮。
每当用户更改P1_DD1或P1_DD2的值时,如果满足以下条件之一,我就需要显示该按钮:
1)如果P1_HIDDEN ='YES'并且P1_DD1和P1_DD2都不为空
或
2)如果P1_HIDDEN ='NO'并且P1_DD1不为空
什么是最好的方法?
我最初在更改时向P1_DD1和P1_DD2都添加了动态操作,并且为P1_DD1添加了将客户端条件设置为Item IS NOT NULL并将项目设置为P1_DD1和服务器端条件PL / SQL Expression:{{1 }}
效果很好。问题出在P1_DD2。我尝试使用类似的逻辑-添加P1_DD2不为null的客户端条件,然后添加服务器端条件PL / SQL表达式:P1_HIDDEN='NO'
,但是什么也没有发生。试图找出原因。或者,也许有更好的方法可以做到这一点?
答案 0 :(得分:3)
1-当这些项目更改(P1_HIDDEN,P1_DD1,P1_DD2)时,尝试创建动态动作。
2-客户端条件>> Javascript表达式
((apex.item('P1_DD1').getValue() != '') &&
(apex.item('P1_DD2').getValue() != '') &&
(apex.item('P1_HIDDEN').getValue() == 'YES'))
||
((apex.item('P1_DD1').getValue() != '') &&
(apex.item('P1_HIDDEN').getValue() == 'NO'))
3-True Action >>显示您的按钮>>启用页面加载时执行
4-错误操作>>隐藏您的按钮>>启用页面加载时执行
答案 1 :(得分:2)
从字面上复制您所写的内容,按钮的条件(一个返回布尔值的函数)如下所示:
return (
( :P1_HIDDEN = 'YES'
and :P1_DD1 is not null
and :P1_DD2 is not null
)
or
( :P1_HIDDEN = 'NO'
and :P1_DD1 is not null
)
);