在APEX 21.1中如何获取复选框组选中项的显示值
APEX 21.1 复选框勾选同步文本项实现方案
- 第一步:配置项静态ID
打开项的属性面板,在「高级」分类下给复选框组设置静态ID为P1_DISEASE_CHECKBOX,给需要赋值的HISTORY文本域设置静态ID为P1_HISTORY。 - 第二步:新建动态动作
触发事件选择更改,触发项选择上述的复选框组项,无需额外触发条件。 - 第三步:配置执行逻辑
在动态动作的「真」分支新增动作,类型选择「执行JavaScript代码」,根据需求填入对应代码:- 多选时拼接所有勾选的显示值(用逗号分隔):
const checkedItems = document.querySelectorAll('#P1_DISEASE_CHECKBOX input:checked'); const selectedValues = []; checkedItems.forEach(el => { const label = document.querySelector(`label[for="${el.id}"]`); if (label) selectedValues.push(label.textContent.trim()); }); apex.item('P1_HISTORY').setValue(selectedValues.join(','));- 仅保留最后一次勾选的单个显示值:
const lastChecked = document.querySelector('#P1_DISEASE_CHECKBOX input:checked:last-of-type'); if (lastChecked) { const label = document.querySelector(`label[for="${lastChecked.id}"]`); apex.item('P1_HISTORY').setValue(label.textContent.trim()); }
附加配置:如果需要页面加载完成后自动同步已默认勾选的选项值到HISTORY项,勾选动态动作属性中的「触发初始化」选项即可。
请确认复选框的值列表配置为显示值对应disease字段、返回值对应id字段,和你提供的查询逻辑匹配。
内容的提问来源于stack exchange,提问作者Eslam
相关产品推荐
相关产品推荐

