You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Apex v21.1 配置Date Picker仅允许选择年份的实现问题

Oracle Apex v21.1 Date Picker纯年份选择配置方案

一、Date Picker组件配置步骤

  • 进入页面对应Date Picker项的属性面板,「设置」区域保持「日期选择器类型」为默认的弹出式日历
  • 修改「格式掩码」为YYYY,确保输入和显示仅保留年份
  • 在「高级」→「初始化JavaScript代码」输入框中添加如下代码,替换占位符为你的实际项ID:
// 替换P1_SELECT_YEAR为你的Date Picker项静态ID
apex.items.P1_SELECT_YEAR.widget().datepicker("option", {
    changeMonth: false,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: "yy",
    yearRange: "1990:+10", // 可自定义年份范围,示例为1990年到当前时间+10年
    onClose: function(dateText, inst) {
        // 选中后自动赋值为当年1月1日0点,适配TIMESTAMP存储格式
        $(this).datepicker('setDate', new Date(inst.selectedYear, 0, 1, 0, 0, 0));
    }
});

二、TIMESTAMP列适配说明

  • 无需修改原有TIMESTAMP类型列的结构:上述配置已自动将选择的年份转换为该年1月1日0点的完整时间值,可直接写入TIMESTAMP列
  • 业务逻辑需要提取年份时,直接使用Oracle内置函数EXTRACT(YEAR FROM 你的TIMESTAMP列名)即可获取数值类型的年份值,无需额外转换
  • 表单提交阶段无需自定义处理逻辑,Apex会自动匹配YYYY格式掩码完成值的类型转换

效果验证

配置完成后点击Date Picker组件,会直接弹出年份选择面板,选中年份后自动关闭面板,输入框仅显示四位年份值,提交后自动写入对应TIMESTAMP列。

内容的提问来源于stack exchange,提问作者ThomasT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:06:02