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

h9a6wy2h  于 2022-10-04  发布在  Oracle
关注(0)|答案(1)|浏览(209)

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

my collapsible list

有没有办法将被点击项目的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;
tzdcorbm

tzdcorbm1#

以下是基于EMP/DEPT样本数据集的示例。

第一步:创建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;

**第二步:**创建一个(隐藏的)页面项来保存您所点击的行的标识符,在我的例子中是P104_EMPNO。

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

  • 选择类型:jQuery选择器
  • JQuery选择器:.My-Button-js

真正的行动1:

  • 操作:“设置值”
  • 设置类型:“Java脚本表达式”
  • 脚本表达式:this.triggeringElement.dataset['empno']
  • 受影响元素:P104_EMPNO

真正的行动2:

  • 操作:“执行Java代码”,代码:$.event.trigger("mybuttonclicked");

**第四步:**创建一个动态动作,触发您在第三步的True Action 2中触发的自定义事件。

  • 活动:定制
  • 自定义事件:我的按钮已点击
  • 选择类型:“Java脚本表达式”
  • 脚本表达式:document

真正的行动1:

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

相关问题