gpt4 book ai didi

javascript - 如何在 oracle apex 的动态操作中从 PLSQL 代码内部调用 Javascript

转载 作者:行者123 更新时间:2023-11-30 20:08:34 25 4
gpt4 key购买 nike

我们如何在 Oracle apex 的动态操作中从 PLSQL 代码调用 javascript 代码。实际上,我的要求是从下拉列表中选择一个 Angular 色(P2_ROLE)。然后使用 sql 查询查找附加到该 Angular 色的所有用户名。一旦检索到用户名,交互式网格中的所有行都应该为这些用户列表着色。 IG 包含列名称 USER_NAME。

如果 Angular 色出现在 IG 中,那么我可以通过在动态操作中编写以下代码来使其工作 ---> Javascript 代码

     $(document).ready(function() {
$("td:nth-child(28)").each(function() {
if ($(this).text() === apex.item( P2_ROLE ).getValue()) {
$(this).parent().children().css({'background-color': '#FF9999'});
}
});
});

但问题是拾取的 Angular 色没有显示在交互式网格中。

因此,作为一种解决方法,我想使用 PLSQL 获取特定于该 Angular 色的所有用户名,并使用 JAVASCRIPT 将它们与交互式网格中的 USER_NAME 列匹配。

但我不确定如何在 PLSQL 代码中调用 JAVSCRIPT 代码。基本上我想做这样的事情:

DECLARE
Cursor c_user_name is
select distinct user_name from wf_user_roles where role_name = :P2_ROLE;
l_USER_NAME varchar2(1000);
BEGIN
OPEN C_USER_NAME ;
LOOP
FETCH C_USER_NAME into l_USER_NAME;
EXIT WHEN C_USER_NAME%NOTFOUND;

-- Call this JAVASCRIPT code now
/*
$(document).ready(function() {
$("td:nth-child(28)").each(function() {
if ($(this).text() === l_USER_NAME) {
$(this).parent().children().css({'background-color': '#FF9999'});

}
});
});
*/

END LOOP;
END;

有人可以帮我解决这个问题吗

最佳答案

你可以使用 apex.server.process:

https://docs.oracle.com/cd/E71588_01/AEAPI/apex-server-namespace.htm#AEAPI30050

使用此函数,您可以使用 javascript 调用 PL/SQL 进程,并在此代码返回某些内容后执行某些操作。

例子: https://community.oracle.com/thread/4094475

UPD。

JavaScript

apex.server.process("new_assign_roles", 
{ x01: 'a_value', x02: 'b_value', x03: 'c_value' },
{
success: function(pData) {
//you can do anything here
console.log(pData);
apex.message.alert(pData.v_result);
}
}
);

按需流程

DECLARE

p_a VARCHAR2(1000) := APEX_APPLICATION.g_x01;
p_b VARCHAR2(1000) := APEX_APPLICATION.g_x02;
p_c VARCHAR2(1000) := APEX_APPLICATION.g_x03;

v_result VARCHAR2(4000) := p_a||' - '||p_b||' - '|| p_c;

BEGIN
-- you can do anything here

apex_json.open_object;
apex_json.write('success', true);
apex_json.write('v_result', v_result);
apex_json.close_object;

END;

你可以在这里看到这个例子:

https://apex.oracle.com/pls/apex/f?p=145797:33

login with:
workspace: stackquestions
user: user_test
pwd: stackquestions
application: 145797
page: 33

20191125AL > 用户 user_test 被锁定。

关于javascript - 如何在 oracle apex 的动态操作中从 PLSQL 代码内部调用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52626212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com