首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaScript将静态值作为列表中的第一个值?ORACLE APEX - LOV列表

如何使用JavaScript将静态值作为列表中的第一个值?ORACLE APEX - LOV列表
EN

Stack Overflow用户
提问于 2018-01-12 20:00:40
回答 4查看 1.1K关注 0票数 1

我正在使用4.2,我有一个LOV (值列表),其中有一个选择列表中的航班号列表。这是一个动态的值列表。我想在选择列表的顶部添加一个静态值,上面写着“即将到来”。我还想在选择列表中的特定航班之前添加一个静态值,上面写着“过去的航班”。这样,我就可以在选择列表中区分哪些航班即将到来,哪些航班是过去的航班。我的动态LOV目前被称为P_100_FLIGHT_LOV2。

下面有一些在页面加载时正在执行的JavaScript代码,它将“即将到来”的静态值添加到我的选择列表中,但它添加了最后一个选项。我想在特定航班前把这个放在上面,中间一个。如何使用JavaScript实现这一目标?

下面是我的JavaScript代码:

代码语言:javascript
复制
var x = document.getElementById("P100_FLIGHT_LOV2");
 var option = document.createElement("option");
 option.text = "Upcoming";
 x.add(option);

以下是当前JS代码的结果:

代码语言:javascript
复制
SPX-14
67P
OA-9
55S
DRAGONX
34R
UPCOMING ----------CURRENTLY AT BOTTOM OF SELECT LIST

我想要达到的预期结果集:

代码语言:javascript
复制
UPCOMING -----------STATIC VALUE
SPX-14
67P
OA-9
PAST FLIGHTS ---------STATIC VALUE
55S
DRAGONX
34R
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-01-15 18:57:12

这是我需要的JavaScript代码,可以将静态值添加到现有的LOV中。此JavaScript代码在页面加载时执行,并将“过去航班”的静态值添加到指定的选项中。谢谢大家的帮助。

代码语言:javascript
复制
$('#P100_FLIGHT_LOV2 option[value="55S"]').before('<option value="Past">--- Past Flights ---</option>');
票数 2
EN

Stack Overflow用户

发布于 2018-01-12 20:33:27

我不知道如何使用JavaScript进行操作,但我知道如何使用Oracle进行操作。所以,给你。

代码语言:javascript
复制
SQL> with flight_schedule (flight, sched) as
  2  (select 'SPX-14' , to_date('12.01.2018 22:00', 'dd.mm.yyyy hh24:mi') from dual union
  3   select '67P'    , to_date('12.01.2018 22:15', 'dd.mm.yyyy hh24:mi') from dual union
  4   select 'OA-9'   , to_date('12.01.2018 22:40', 'dd.mm.yyyy hh24:mi') from dual union
  5   select '555'    , to_date('12.01.2018 18:30', 'dd.mm.yyyy hh24:mi') from dual union
  6   select 'DRAGONX', to_date('12.01.2018 19:00', 'dd.mm.yyyy hh24:mi') from dual union
  7   select '34R'    , to_date('12.01.2018 19:28', 'dd.mm.yyyy hh24:mi') from dual),
  8  static_values as
  9  (select 1 what, 'UPCOMING' statval from dual union
 10   select 3     , 'PAST FLIGHTS'     from dual
 11  ),
 12  --
 13  prep as
 14  (-- Static values
 15   select what, statval flight, null sched
 16     from static_values x
 17   union
 18   -- Upcoming flights
 19   select 2 what, flight, sched
 20     from flight_schedule
 21     where sched > sysdate
 22   union
 23   -- Past flights
 24   select 4 what, flight, sched
 25     from flight_schedule
 26     where sched <= sysdate
 27  )
 28  select flight, sched scheduled_time
 29  from prep
 30  order by what, sched;

FLIGHT       SCHEDULED_TIME
------------ ----------------
UPCOMING
SPX-14       12.01.2018 22:00
67P          12.01.2018 22:15
OA-9         12.01.2018 22:40
PAST FLIGHTS
555          12.01.2018 18:30
DRAGONX      12.01.2018 19:00
34R          12.01.2018 19:28

8 rows selected.

SQL>

几个注意事项:

  • 当前的"sysdate“(关于本例)为12.01.2018 21:00
  • flight_schedule是实际的“航班时刻表”,有航班和计划时间。
  • 它们与静态值“结合在一起”。哪一列显示放置这些值的位置(即指向它们的排序位置)
  • PREP表准备这些值;静态值是微不足道的,而即将进行的和过去的航班依赖于"sysdate“。

哦,是的-还有一件事:因为这是一个Apex LoV,您必须准确地选择两个值:一个显示值和一个返回值;这些值是什么,你会更清楚地知道(可能是航班和它的ID,或者类似的东西)。

票数 2
EN

Stack Overflow用户

发布于 2018-01-14 11:49:17

这个问题的Javascript解决方案不是APEX特有的.由于APEX使用的是jQuery库,所以这就是答案应该这样做。

(注:我没有提议把这个问题作为一个重复来结束,因为@Littlefoot还表明,在APEX中,没有使用Javascript还有其他方法可以做到这一点。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48233239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档