无法在moment.js中选择minDate

时间:2019-11-14 16:40:07

标签: javascript php datepicker momentjs

我正在使用日期选择器让用户选择过去和今天之间100天之间的日期。它工作正常,但是有一个我无法解决的问题。 显然,minDate是计算出来的,并正确地应用到了选择器中。超过100天的日期显示为灰色且无法选择。问题在于,第一个可用日期(以黑色显示)也不可选。当指针悬停在这样的日期上时,它会正确地变成一只手,但是在单击时,选择器将关闭并显示当前日期。 所有其他日期(从第二个最早的日期开始)都可以正常工作。

<!--Campo de fecha-->
    <div class="form-group" <?php echo $mostrarDiv; ?>>
        <div>
            <label for="fecha" class="etiquetaDeCampo"><span class="fas fa-calendar-day"></span> Selecciona la fecha del suceso:</label>
            <div class="msgError" id="errorFecha">
                <p>Selecciona la fecha.</p>
            </div>
        </div>
        <?php
            if(isset($_SESSION['fecha']) && $_SESSION['fecha'] != ""){
                $fecha = $_SESSION['fecha'];
            } else {
                $fecha = "";
            }
            $fecha = 'value="'.$fecha.'"';
        ?>
        <div class="input-group date" id="datetimepicker" data-target-input="nearest">
                                                
                <input type="text" name="fecha" id="fecha" class="form-control datetimepicker-input campoDeDatos" data-toggle="datetimepicker" data-target="#datetimepicker" <?php echo $fecha; ?>/>
                <div class="input-group-append" data-target="#datetimepicker" data-toggle="datetimepicker">
                    <div class="input-group-text"><i class="fa fa-calendar"></i></div>
                </div>
            
        </div>
    </div>
<script type="text/javascript">
    $(function () {
        var dateFormat = "DD-MM-YYYY";
        var CurrDate = new Date();
        var limitePasado = new Date();
        limitePasado.setDate(limitePasado.getDate() - 100);

        dateCurr = moment(CurrDate, dateFormat);
        $('#datetimepicker').datetimepicker({
            format: 'DD-MMM-YYYY',
            locale: 'es',
            defaultDate: CurrDate,
            showToday: true,
            maxDate: dateCurr,
            minDate: limitePasado,
        });
    });
</script>
<!--Fin de fecha-->

1 个答案:

答案 0 :(得分:0)

footer {

  position:absolute;
  bottom:0;
  left: 50%;
  transform: translateX(-50%);
  word-wrap: break-word;

  .footerText {
    text-align: center;
    color: rgba(0, 0, 0, 0.58);
    font-style: italic;
    font-size: 10px;
  }
}

也尝试

 var CurrDate = moment();
 var limitePasado = moment().subtract(1, "days");

使用此