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

jQuery UI Datepicker年月下拉框不显示问题求助

解决jQuery UI Datepicker年月下拉框不显示的问题

从截图来看,Datepicker弹窗仅展示了日期选择区域,年月选择的下拉框未显示,以下是几个排查和解决方向:

  • 检查jQuery与jQuery UI版本兼容性
    确保引入的jQuery和jQuery UI版本匹配,比如jQuery UI 1.13.x需要搭配jQuery 3.6及以上版本。可在浏览器控制台执行$.ui.version和jQuery.fn.jquery查看当前版本,确认二者兼容。

  • 移除位置偏移代码测试
    你在beforeShow中对dpDiv设置的marginTop和marginLeft偏移,可能导致年月下拉框被移出可视区域或遮挡。先注释这段代码测试:

    $(function() {
      $("#id_dob").datepicker({
        // beforeShow: function(input, inst) {
        //   inst.dpDiv.css({
        //     marginTop: -input.offsetHeight + 'px',
        //     marginLeft: input.offsetWidth + 'px'
        //   });
        // },
        changeMonth: true,
        changeYear: true
      });
    });
    

    如果下拉框恢复显示,说明是偏移设置导致的问题。可以调整偏移数值,或改用position: absolute配合top/left属性定位,避免影响下拉框布局。

  • 验证jQuery UI CSS是否完整加载
    打开浏览器开发者工具的「网络」面板,确认jQuery UI的CSS文件已成功加载(无404错误)。路径错误或网络问题会导致CSS缺失,使下拉框样式失效无法显示。

  • 排查z-index层级覆盖问题
    若页面其他元素的z-index值过高,可能覆盖Datepicker的下拉框。可尝试给dpDiv设置更高的层级:

    beforeShow: function(input, inst) {
      inst.dpDiv.css({
        marginTop: -input.offsetHeight + 'px',
        marginLeft: input.offsetWidth + 'px',
        zIndex: 9999
      });
    },
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:36:29