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

Oracle Apex 20.2日期选择器限制:禁止选早于开始日期的结束日期

Oracle Apex 20.2 限制完成日期不早于开始日期的解决方案

由于Apex 20.2没有自带日期范围联动的配置选项,可通过JavaScript结合Apex内置的日期选择器API实现需求,以下是具体实现步骤:

方法:JavaScript联动日期选择器

假设你的开始日期项ID为P1_START_DATE,完成日期项ID为P1_END_DATE,请替换为你实际的项ID:

步骤1:添加页面级JavaScript代码

在页面的Function and Global Variable Declaration区域(页面设计 → JavaScript → Function and Global Variable Declaration),插入以下代码:

$(document).ready(function() {
    // 监听开始日期值变化事件
    $('#P1_START_DATE').on('change', function() {
        syncEndDateMinLimit();
    });
    
    // 页面加载完成后初始化限制
    syncEndDateMinLimit();
});

function syncEndDateMinLimit() {
    // 获取开始日期的当前值
    var startDateVal = apex.item('P1_START_DATE').getValue();
    // 获取完成日期的日期选择器实例
    var endDatePicker = apex.widget.datePicker( $('#P1_END_DATE') );
    
    if (startDateVal) {
        // 设置完成日期的最小可选日期为开始日期
        endDatePicker.set('minDate', startDateVal);
    } else {
        // 若开始日期清空,移除最小日期限制
        endDatePicker.set('minDate', null);
    }
}

步骤2:验证效果

  1. 运行页面,选择一个开始日期,观察完成日期选择器中早于该日期的选项是否被置灰不可选
  2. 清空开始日期,确认完成日期的限制会被重置

注意事项

  • 确保替换代码中的P1_START_DATE和P1_END_DATE为你页面上实际的项ID(可在项的属性中查看)
  • 该方案兼容Apex 20.2的标准弹出式和内联日期选择器
  • Apex会自动处理日期格式的匹配,无需手动转换格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:54:58