从更改 select 列表的动态操作调用模态 window
Call a modal window from a dynamic action on change select list
环境:Oracle APEX v5.1.2 / Oracle 12c R2
我有一个交互式网格报告,其中我的一列(活动)是基于 LOV 的 select 列表列,其值为 'Y' 或 'N' .
我试图做的是当 select 列表的值为 'Y' 时从动态操作中调用模式 window。我试过下面的代码:
在“活动”列中,我有一个 DA,它有一个 when 事件发生变化,客户端条件为 item/column = value (ACTIVE = Y)
然后我有一个 TRUE 条件:执行 PL/SQL
DECLARE
l_url varchar2(2000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
BEGIN
l_url := APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || l_app || ':22:'||l_session||'::NO:22::',
p_triggering_element => '$("#is-active")'
);
END;
is-active 是我在 IG 中针对 ACTIVE 列的静态 ID。不幸的是,我在第 22 页上的模态形式没有 fire/appear。
我找到了一个解决方案,你需要创建一个隐藏的页面项,例如(P2_URL)并将默认值类型设置为PLSQL表达式,然后在plsql表达式中写入以下plsql:
apex_util.prepare_url('f?p=&APP_ID.:4:&SESSION.::&DEBUG.::::', p_triggering_element => '$(''#is-active'')')
然后在您的动态操作中,您必须执行以下 javascript 代码,而不是执行 plsql:
eval($('#P2_URL').val())
有关详细信息,请阅读此 articel
环境:Oracle APEX v5.1.2 / Oracle 12c R2
我有一个交互式网格报告,其中我的一列(活动)是基于 LOV 的 select 列表列,其值为 'Y' 或 'N' .
我试图做的是当 select 列表的值为 'Y' 时从动态操作中调用模式 window。我试过下面的代码:
在“活动”列中,我有一个 DA,它有一个 when 事件发生变化,客户端条件为 item/column = value (ACTIVE = Y)
然后我有一个 TRUE 条件:执行 PL/SQL
DECLARE
l_url varchar2(2000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
BEGIN
l_url := APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || l_app || ':22:'||l_session||'::NO:22::',
p_triggering_element => '$("#is-active")'
);
END;
is-active 是我在 IG 中针对 ACTIVE 列的静态 ID。不幸的是,我在第 22 页上的模态形式没有 fire/appear。
我找到了一个解决方案,你需要创建一个隐藏的页面项,例如(P2_URL)并将默认值类型设置为PLSQL表达式,然后在plsql表达式中写入以下plsql:
apex_util.prepare_url('f?p=&APP_ID.:4:&SESSION.::&DEBUG.::::', p_triggering_element => '$(''#is-active'')')
然后在您的动态操作中,您必须执行以下 javascript 代码,而不是执行 plsql:
eval($('#P2_URL').val())
有关详细信息,请阅读此 articel