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

标签 javascript oracle oracle-apex oracle-apex-5 lov

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

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

下面是我的 JavaScript 代码:

var x = document.getElementById("P100_FLIGHT_LOV2");
 var option = document.createElement("option");
 option.text = "Upcoming";
 x.add(option);

这是当前这段 JS 代码的结果:

SPX-14
67P
OA-9
55S
DRAGONX
34R
UPCOMING ----------CURRENTLY AT BOTTOM OF SELECT LIST

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

UPCOMING -----------STATIC VALUE
SPX-14
67P
OA-9
PAST FLIGHTS ---------STATIC VALUE
55S
DRAGONX
34R

最佳答案

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

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 是实际的“航类时刻表”,包含航类和 安排时间
  • 它们与静态值“联合”。 WHAT 列显示去哪里 放置这些值(即指向它们的排序位置)
  • PREP 表准备这些值;静态的是微不足道的,而 即将到来和过去的航类取决于“系统日期”

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

关于javascript - 如何使用 JavaScript 将静态值作为列表中的第一个值? ORACLE APEX - LOV 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48233239/

相关文章:

java - 如何从 spring boot 应用程序调用 oracle 函数?

oracle - 如何在plsql中获取当前日期时间?

windows - 入门链接在 oracle 11g 服务器中不起作用

sql - 基于 2 种不同类型的用户在 apex 中进行自定义身份验证

json - 在 PL/SQL 中解析 JSON 数组

javascript - 动态调整 Bootstrap 日期选择器的日期范围

Javascript 行为异常

mysql - Update, set + 90 where ...(查询更新错误值)

vbscript - 如何判断一个URL是否已经用encodeURI编码?

javascript - polymer - 结束绑定(bind)事件时 dom-repeat?