我已经使用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