gpt4 book ai didi

javascript - 通过更改 Oracle Apex 中的复选框来正确提交

转载 作者:行者123 更新时间:2023-12-03 01:24:15 24 4
gpt4 key购买 nike

目前,我正在处理 Oracle Apex 页面,该页面作为一个交互式报告(让它具有 ID my_report)和两个复选框 P1000_FLAG_1 P1000_FLAG_2,它们与前者相关,帮助我选择 IR 查询的某些部分。由于 Apex 不认为复选框可以进行提交(这对于单选按钮来说是不正确的),因此我编写了 Javascript 函数作为解决方法:

/* On change any checkbox */
function toggleQuery(nFlag){
if(!(nflag > 0 && nFlag < 3)) return;
sFlag = "P1000_FLAG_" + String(nFlag);
var nChecked = (document.getElementById(sFlag + "_0").checked ? 1 : 0);
apex.submit({set:{sFlag:nChecked}});
}

我还有一个进程,它在我的页面加载时执行:

/* Process: On Load — Before Header, Once Per Visit Page */
begin
--initiating several hidden values,
--which are not changed during working with the page
:P1000_HIDDEN := GET_HIDDEN(1);
--...here goes the code, which fills other hidden items...
--
--this piece stands for the default choice in current page
if :P1000_ENTERED is null then
:P1000_FLAG_1 := 1;
:P1000_FLAG_2 := 0;
else
:P1000_FLAG_1 := nvl(:P1000_FLAG_1,0);
:P1000_FLAG_2 := nvl(:P1000_FLAG_2,0);
end if;
:P1000_ENTERED := 1;
end;

当我仅通过复选框进行选择时,我的页面运行良好。但我有一个问题,当我执行一个操作时,该操作在 AJAX 回调的帮助下工作并以以下 jQuery 命令结束:

$("#my_report").trigger('apexrefresh'); //there is only changing some styles (.css(...)) bound to IR refresh

当我第一次打开页面,执行操作,然后尝试选中第二个复选框(默认情况下未选中)时,Apex 的行为就像我第一次再次打开页面一样。当我尝试使所有隐藏项目不 protected 时,我意识到了这一点(否则我会在尝试手动更改 protected 隐藏项目时出错)。

因此我的问题是:我应该怎样做才能使我的页面正常工作?我使用Oracle 11g,Apex 4.2.6.00.03

最佳答案

就像 Jeffrey 所说,你可以通过动态操作刷新你的 IG。

但不要忘记在 SQL 旁边设置要提交的项目。在您编写 SQL 的位置之后有一个“要提交的项目”字段,您需要将 SQL 中使用的所有项目都放入此字段中。

此后,您可以创建一个动态操作,以便在某些项目发生更改时刷新报告。

关于javascript - 通过更改 Oracle Apex 中的复选框来正确提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51618623/

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