我需要获取航天飞机LOV(左侧)中所选项目的ID并将该ID返回到页面项目?流程应该是动态的,因此当我更改选择时,页面项目中的 ID 也应该更改。
我尝试过动态操作-设置值,但我无法捕获这个ID。知道如何解决吗?
APEX 19.1
好吧,我猜测你想知道,用户刚刚点击了哪个选项。
Caviat:这不适用于多选。那就有点复杂了。
所以,你需要的是穿梭项目的客户端状态。为此,我们需要一些 JavaScript。
航天飞机的左侧有 id [物品名称]_LEFT。因此,如果您将班车称为“P1_SHUTTLE”,那么它就是“P1_SHUTTLE_LEFT”。
该物品有一个名为
selectedOptions
的属性。
它保存所有当前选定/突出显示的元素和数量(称为长度)的 HTMLCollection。
因此以 EMP 表为例,document.getElementById("P1_SHUTTLE_LEFT").selectedOptions
看起来像这样:
HTMLCollection { 0: option, 1: option, 2: option, length: 3 }
0: <option value="KING">
1: <option value="BLAKE">
2: <option value="CLARK">
length: 3
但是,由于我们只查看单个选择,因此我们只会获得该集合的第一个元素。
因此,要获取第一个选定元素的值,我们可以使用:
document.getElementById("P1_SHUTTLE_LEFT").selectedOptions.item(0).value
现在,创建一个动态动作
为您所需的页面项目“设置值”。
请记住,我们在这里所做的一切都是客户端。如果你想用它做 pl/sql 的东西,你需要提交页面项。