首页 > 解决方案 > 日历不是从今天开始 jqueryui daterangepicker

问题描述

我正在使用 jQuery UI Daterangepicker(参考)。

我希望日历从今天开始,没有最大日期。我正在尝试使用日历中的时刻作为日期。

这是我拥有的 HTML 和 JS 代码,但它设置了今天的结束日期,没有 minDate。

<input id="search-vac-daterange" name="search-vac-daterange">

$("#search-vac-daterange").daterangepicker({
    minDate: moment(),
    startDate: moment()
});

我也尝试过minDate: new Date()startDate: new Date()。也没有结果。日期以今天作为结束日期。

注意:时刻正在工作,因为 console.log(moment()); 返回我一个时刻对象:

p {_isAMomentObject: true, _isUTC: false, _pf: {…}, _locale: j, _d: Fri Jan 18 2019 16:14:35 GMT+0100 (Midden-Europese standaardtijd), …}

编辑:我已经尝试了下面给出的建议,它们都不会对解决方案产生影响。

dateFormat: 'dd/mm/yy',
minDate: moment().format('DD/MM/YYYY'),
startDate: moment().format('DD/MM/YYYY'),

或者

minDate: new Date(moment("11-02-1993").format("YYYY-MM-DD")),
startDate: new Date(moment("11-02-1994").format("YYYY-MM-DD")),

添加图像以显示问题: jquery ui calednar 问题开始日期

标签: javascriptjqueryjquery-uidatepickerdaterangepicker

解决方案


你有两个问题。首先返回一个 Moment 对象,该对象不是选取器的or属性的moment()有效值。要解决这个问题,只需传递一个标准的 Date 对象。minDatestartDate

其次,您需要为对象内的底层 jQueryUI datepicker 控件提供选项datepickerOptions

$("#search-vac-daterange").daterangepicker({
  datepickerOptions: {
    minDate: new Date(),
    startDate: new Date(),
    maxDate: '+1y' // required for future dates to be selectable
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
<script type="text/javascript" src="http://tamble.github.io/jquery-ui-daterangepicker/daterangepicker-master/jquery.comiseo.daterangepicker.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/2.3.1/moment.min.js"></script>
<input id="search-vac-daterange" name="search-vac-daterange">


推荐阅读