ORACLE APEX PL/SQL动态内容,将点击项目的ID插入表中



我已经使用HTML和JavaScript在PL/SQL动态内容中编写了可折叠列表。

我的可折叠列表

有没有办法将点击项目的ID插入表中?可点击字段是按钮。

感谢

编辑


for i in c loop 
HTP.P('<button type="button" class="collapsible">
'i.Header of list'
('</button><div class="content"><p>'i.content of list'</p></div>'));
end loop;

这里是一个基于EMP/DEPT样本数据集的示例。

步骤1:创建pl/sql动态内容区域。确保按钮具有(1(用于捕获单击事件的自定义类和(2(用于唯一定义行的数据属性。

for i in (SELECT * FROM emp) loop 
htp.p(apex_string.format('</button><div class="my-button-js content" data-empno="%0"><p>%1</p></div>',i.empno,i.ename));
end loop;

步骤2:创建一个(隐藏的(页面项来保存您单击的行的标识符,在我的例子中是P104_EMPNO。

第3步:创建一个动态操作,将P104_EMPNO的值设置为您在报告中单击的行按钮的值EMPNO。

  • 选择类型:JQuery Selector
  • JQuery Selector:.my button js

真动作1:

  • 动作:"设置值">
  • 集合类型:";Javascript表达式">
  • Javascript表达式:this.triggeringElement.dataset['empno']
  • 受影响元素:P104_EMPNO

真实行动2:

  • 动作:"执行Javascript代码";,代码:$.event.trigger("mybuttonclicked");

第4步:创建一个动态操作,以对在步骤3的True action 2中触发的自定义事件进行触发。

  • 事件:自定义
  • 自定义事件:mybuttonclicked
  • 选择类型:";Javascript表达式">
  • Javascript表达式:document

真动作1:

  • 操作:执行服务器端代码
  • 语言:PL/SQL
  • 代码:UPDATE EMP SET sal = sal * 1.1 WHERE empno = :P104_EMPNO;
  • 提交项目:P104_EMPNO

最新更新