首页 > 解决方案 > Oracle Apex,尝试根据时间在 Checkbox 中选择值

问题描述

我已经设置了一个动态操作来运行 javascript 代码以根据时间选择“A”或“B”。如果时间在 07:00 (h24:mm) 和 17:50 (h24:mm) 之间,则应将值设置为“A”,否则设置为“B”。

我在表单上有一个字段(P4_TIME_RECORDED),它使用此代码提取当前时间

select to_char(systimestamp,'hh24:mm') as timestamp from dual

和一个字段 (P4_SHIFT),它是 A 和 B 之间的复选框。复选框示例

任何帮助都是极好的。

标签: sqloracle-apexoracle-apex-5.1

解决方案


根据您问题中的解释,我将采用稍微不同的方法。

  • 该值需要是 Shift AShift B。无线电组似乎是最合适的,因为在任何时候只能选择一个值。
  • 该值基于 sysdate,而不是基于呈现页面更改的内容,因此动态操作是多余的。相反,您可以使用计算在页面呈现时获取值。

所以这就是我要做的

  • 创建单选组类型的页面项 P4_SHIFT (静态值,值 A 和 B)
  • 在 P4_SHIFT 上添加计算,在具有源的表达式类型区域之前使用处理点
  CASE 
    WHEN TO_CHAR(SYSDATE,'HH24MI') BETWEEN '0700' AND '1750' 
    THEN 'A'
    ELSE 'B'
    END

推荐阅读