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

如何在jQuery daterangepicker中禁用当前日期并显示占位符

解决daterangepicker的两个需求:禁用当前日期 + 设置占位符

嘿,我来帮你搞定这两个需求,咱们直接调整你的现有代码就行,分两步来:

1. 禁用当前日期

你现在的disabledDates函数没有返回值,daterangepicker的isInvalidDate需要一个明确的返回值——返回true就表示该日期要被禁用。我们可以借助moment的isSame方法判断当前日期是否是今天,然后返回true来禁用它:

var disabledDates = function(date) {
  // 判断传入日期是否和今天是同一天,是则返回true禁用
  return date.isSame(moment(), 'day');
}

2. 设置输入框占位符

daterangepicker本身提供了placeholder配置项,直接在初始化配置里加上这个参数,就能替换默认的日期格式文本:

placeholder: '请选择入住-退房日期' // 这里可以改成你想要的任意占位符文本

修改后的完整代码

把上面的修改整合到你的代码里,最终版本如下:

(function($) { 
  "use strict"; 
  /*Document is Ready */ 
  $(document).ready(function() { 
    // ============================================= 
    // DATEPICKER 
    // ============================================= 
    var disabledDates = function(date) {
      // 禁用当前日期
      return date.isSame(moment(), 'day');
    } 

    $('.datepicker').daterangepicker({
      locale: {
        format: 'DD-MM-YYYY',
      },
      isInvalidDate: disabledDates,
      // 添加占位符配置,替换默认日期文本
      placeholder: '请选择入住-退房日期'
    }, function(label) {}); 

    $(".calendar.left .daterangepicker_input").before("<div class='calendar-title'> Check Inn </div>"); 
    $(".calendar.right .daterangepicker_input").before("<div class='calendar-title'>Check Out</div>"); 
  }); 
})(jQuery);

额外注意点

  • 确保你的项目已经正确引入了moment.js(daterangepicker依赖它),不然日期判断逻辑会失效哦。
  • 占位符文本可以完全根据你的业务需求修改,比如改成英文的Select Check-In - Check-Out Dates也完全没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 03:22:29