¿Cómo puedo desactivar las últimas fechas en jQuery datepicker? Busqué opciones, pero no parece encontrar nada de lo que indica la capacidad para deshabilitar las fechas pasadas.

ACTUALIZACIÓN: Gracias yall por la rápida respuesta. Traté de que no hubo suerte. Los días eran aún no gris como yo esperaba y todavía aceptar el seleccionado pasado de fecha.

He intentado esto:

$('#datepicker').datepicker({ minDate: '0' });

No funciona.

He intentado esto:

$('#datepicker').datepicker({ minDate: new Date() });

Todavía no funciona bien.

Muestra el widget de calendario bien. Simplemente no gris o impedir la entrada de los últimos días. He intentado minDate y maxDate en el pasado no hubo suerte, así que pensé que no deben ser ellos.

InformationsquelleAutor netrox | 2009-11-23

14 Comentarios

  1. 137

    Intente esto:

    $("#datepicker").datepicker({ minDate: 0 });

    Eliminar las comillas de 0.

    • Respondió un año y medio más tarde que yo 😉
    • Que me guarde mi amigo.
  2. 34

    Sólo necesitas especificar una fecha mínima – establecer a 0 significa que la fecha mínima es de 0 días a partir de hoy, es decir, el día de hoy. Usted podría pasar a la cadena de '0d' lugar (la unidad por defecto es de días).

    $(function () {
        $('#date').datepicker({ minDate: 0 });
    });
  3. 24

    Si usted está tratando con un consolidados anteriormente selector de fecha, a continuación, configuración de

    $("#datepicker").datepicker({ minDate: 0 });

    no funcionará. La sintaxis es aplicable únicamente cuando se crea el widget.

    Para establecer min fecha para un obligado selector de fecha utilice el siguiente:

    $("#datePicker").datepicker("option", "minDate", 0);
    • gracias por que ha enlazado previamente solución
    • Gracias. He perdido mucho tiempo para encontrar esta solución y esta solucionado mi problema.
  4. 23

    Quitar las comillas que rodean 0 y va a trabajar.

    De Trabajo Fragmento De Código:

    JS:

    //set minDate to 0 for today's date
    $('#datepicker').datepicker({ minDate: 0 });

    CSS:

    body {
        font-size: 12px; /* just so that it doesn't default to 16px (which is kinda huge) */
    }

    HTML:

    <!-- load jQuery and jQuery UI -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
    
    <!-- load jQuery UI CSS theme -->
    <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
    
    <!-- the datepicker input -->
    <input type='text' id='datepicker' placeholder='Select date' />

    • Cualquier explicación de por qué la coma es necesaria? Me lo puede quitar y todo funciona correctamente. Hay algún navegador que requiere una coma para un único objeto de propiedad?
    • Sólo se necesita comas si está usando varias opciones, por ejemplo, $('#datepicker').datepicker({ minDate: 0, maxDate: "+1M +10D", dateFormat: 'yy-mm-dd' }); Usted no necesita una coma después de la última opción
    • va a enviar un objeto al método. una coma en el último valor es incorrecto.
    • La coma es no necesita y se romper su código en algunos navegadores (coma eliminado)
  5. 7

    //deshabilitar el futuro de las fechas

    $('#datetimepicker1').datetimepicker({
                format: 'DD-MM-YYYY',
                maxDate: new Date
            }); 

    //deshabilitar las fechas pasadas

     $('#datetimepicker2').datetimepicker({
            format: 'DD-MM-YYYY',
            minDate: new Date
        });
    • No estoy seguro de por qué esta respuesta obtuvo un voto, porque su solución funcionó para mí, mientras que la aceptación de la solución con una 0 provocó un error de JavaScript. +1
  6. 2

    Estoy utilizando el código siguiente a la fecha de formato y mostrar de 2 meses en el calendario…

    <script>
    $(function() {
    
        var dates = $( "#from, #to" ).datepicker({
    
            showOn: "button",
            buttonImage: "imgs/calendar-month.png",
            buttonImageOnly: true,                           
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 2,
    
            onSelect: function( selectedDate ) {
    
    
    
    
                $( ".selector" ).datepicker({ defaultDate: +7 });
                var option = this.id == "from" ? "minDate" : "maxDate",
    
    
                    instance = $( this ).data( "datepicker" ),
                    date = $.datepicker.parseDate(
                        instance.settings.dateFormat ||
                        $.datepicker._defaults.dateFormat,
                        selectedDate, instance.settings );
    
                dates.not( this ).datepicker( "option", "dateFormat", 'yy-mm-dd' );
    
    
            }
        });
    });
    
    </script>

    El problema es que no estoy seguro de cómo restringir las fechas anteriores a la selección.

  7. 1

    Asegúrese de poner varias propiedades en la misma línea (ya que sólo mostró 1 línea de código, usted puede haber tenido el mismo problema que yo hice).

    Mina de establecer la fecha predeterminada, pero no gris viejo fechas. Esto no funciona:

    $('#date_end').datepicker({ defaultDate: +31 })
    $('#date_end').datepicker({ minDate: 1 })

    Este no tanto:

    $('#date_end').datepicker({ defaultDate: +31, minDate: 1 })

    1 y +1 el trabajo de la misma (o entre 0 y +0 en su caso).

    Mí: Windows 7 x64, Rieles 3.2.3, Ruby 1.9.3

  8. 1
    var givenStartDate = $('#startDate').val();
            alert('START DATE'+givenStartDate);
            var givenEndDate = $('#endDate').val();
            alert('END DATE'+givenEndDate);
            var date = new Date();
            var month = date.getMonth()+1;
            var day = date.getDate();
            var currentDate = date.getFullYear() + '-' +
                (month<10 ? '0' : '') + month + '-' +
                (day<10 ? '0' : '') + day;
            if(givenStartDate < currentDate || givenEndDate < currentDate)
             { 
            $("#updateButton").attr("disabled","disabled"); 
             }
             if(givenStartDate < currentDate && givenEndDate > currentDate)
                {
                $("#updateButton").attr("enabled","enabled");
                }
             if(givenStartDate > currentDate || givenEndDate > currentDate) { 
            $("#updateButton").attr("enabled","enabled"); 
             }

    Probar esta. Si cualquier error, por favor me corrija 🙂 Gracias a todos.

  9. 0

    Pruebe a establecer startDate a la fecha actual. Por ejemplo:

    $('.date-pick').datePicker({startDate:'01/01/1996'});
    • Esto parece que es para Kevin Suerte del selector de fecha, no el estándar de JQuery uno
  10. 0

    He utilizado el min atributo: min="' + (new Date()).toISOString().substring(0,10) + '"

    Aquí está mi código y funcionó.

    <input type="date" min="' + (new Date()).toISOString().substring(0,10) + '" id="' + invdateId + '" value="' + d.Invoice.Invoice_Date__c + '"/>

    jQuery datepicker para prevenir la fecha pasada

Dejar respuesta

Please enter your comment!
Please enter your name here