You need to enable JavaScript to run this app. Oracle Apex中通过JS实现同标签页左右页面项的逐值复制
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Apex中通过JS实现同标签页左右页面项的逐值复制

需求示意图

Oracle Apex 页面项逐值复制实现方案

适配现有配置的快速实现

你当前已完成触发按钮、对应动态动作、Set Value操作绑定、目标项关联的基础配置,仅需调整Set Value模块的参数即可完成功能:

  • 将Set Value下的**设置类型(Set Type)**从默认静态值切换为 JavaScript Expression(JS表达式)
  • 确认「受影响项」列表的排列顺序为 P1_A1、P1_B1、P1_C1,返回的JS数组顺序必须与该顺序严格匹配,避免值错位
  • 在JS表达式输入框填入以下映射代码:
[
  apex.item('P1_A').getValue(),
  apex.item('P1_B').getValue(),
  apex.item('P1_C').getValue()
]

无错位风险的备选实现

如果后续可能调整受影响项的排列顺序,可改用直接指定目标项的赋值逻辑,完全不依赖受影响项排序:

  • 仍保持Set Type为JavaScript Expression
  • 可清空「受影响项」列表的所有关联配置,在JS表达式中直接完成源值到目标值的映射:
// 逐组同步值,自动保持Apex内部状态一致
apex.item('P1_A1').setValue(apex.item('P1_A').getValue());
apex.item('P1_B1').setValue(apex.item('P1_B').getValue());
apex.item('P1_C1').setValue(apex.item('P1_C').getValue());

开发注意点

  • 取值、赋值统一使用apex.item()方法,不要直接通过DOM操作修改页面项的value属性,否则会导致Apex内部状态不同步,无法正常触发目标项的后续联动逻辑
  • 该实现对文本输入框、日期选择器、多选列表、富文本编辑器等全类型Apex页面项均兼容
  • 如果复制值后不需要触发目标项的变更联动事件,可勾选Set Value模块下的Suppress Change Event选项

内容的提问来源于stack exchange,提问作者Souheil MHIRI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 15:36:00