Javascript 如何在Oracle APEX中动态控制区域显示选择器?
我希望根据用户访问该页面所遵循的链接,在页面加载时选择一个要突出显示的特定区域。这是一个具有多个选项的向下搜索报告,因此目标是使所有选项都可用,但将重点放在用户选择的选项上,以减少用户从基本报告导航到向下搜索的次数 目前,我正在尝试实现这个解决方案,在这里的Oracle社区讨论中作了进一步解释:,但它不适合我 我现在拥有的与这些示例中显示的类似,目前我只是尝试链接到一个静态区域显示选择器(RDS)选项卡(目标是根据在feeder页面中单击的链接使所选区域成为动态的,但我显然还没有) 我有一个设置为在页面加载事件时触发的动态操作,以及一个执行JavaScript代码并在示例中使用JavaScript的真实操作(包括Oracle线程中建议的超时函数和不建议的超时函数)。我已经为RDS和Region设置了静态ID,但是当我加载页面时,RDS仍然默认显示全部(如果Show All关闭,则显示第一个区域) 有人能帮我理解我做错了什么吗 谢谢Javascript 如何在Oracle APEX中动态控制区域显示选择器?,javascript,oracle-apex,oracle-apex-5.1,Javascript,Oracle Apex,Oracle Apex 5.1,我希望根据用户访问该页面所遵循的链接,在页面加载时选择一个要突出显示的特定区域。这是一个具有多个选项的向下搜索报告,因此目标是使所有选项都可用,但将重点放在用户选择的选项上,以减少用户从基本报告导航到向下搜索的次数 目前,我正在尝试实现这个解决方案,在这里的Oracle社区讨论中作了进一步解释:,但它不适合我 我现在拥有的与这些示例中显示的类似,目前我只是尝试链接到一个静态区域显示选择器(RDS)选项卡(目标是根据在feeder页面中单击的链接使所选区域成为动态的,但我显然还没有) 我有一个设置
let sesStorage = apex.storage.getScopedSessionStorage({
useAppId:true,
usePageId:true});
setTimeout(sesStorage.setItem( "tabs.activeTab", "#R3" ) { apex.region("tabs").widget().aTabs("getTabs")["#R3"].makeActive();}, 300);
\\version without setTimeout
let sesStorage = apex.storage.getScopedSessionStorage({
useAppId:true,
usePageId:true});
sesStorage.setItem( "tabs.activeTab", "#R3" );
我过去也做过类似的事情。在页面
P1\u TEST
上创建一个隐藏变量,确保设置不受保护的值
单击链接时,需要设置该变量的值
然后需要将静态IDTAB1
、TAB2
等添加到区域显示选择器的选项卡中
然后在页面加载时添加DA:
if (apex.item("P1_TEST").getValue() === "Value1"){
$(".apex-rds [href='#TAB1']").trigger('click');
} else if (apex.item("P1_TEST").getValue() === "Value2"){
$(".apex-rds [href='#TAB2']").trigger('click');
}
非常感谢您的回复。这对我来说仍然不起作用,但我了解到一些(但不是全部)JS在我们的网络上被阻止,这可能是我遇到的问题,这意味着最终用户可能无法从中受益。