Pregunta ¿Cómo borro / restablezco las fechas seleccionadas en el calendario jQuery UI Datepicker?


¿Cómo restablezco los valores del calendario de datepicker? .. ¿Las restricciones de fecha mínima y máxima?

El problema es que cuando borro las fechas (borrando los valores de la caja de texto), las restricciones de fecha anteriores todavía se aplican.

He estado clasificando a través de documentación y nada saltó como una solución. Tampoco pude encontrar una solución rápida en una búsqueda SO / google

http://jsfiddle.net/CoryDanielson/tF5MH/


Solución:

 

// from & to input textboxes with datepicker enabled
var dates = $("input[id$='dpFrom'], input[id$='dpTo']");

// #clearDates is a button to clear the datepickers
$('#clearDates').on('click', function(){
    dates.attr('value', '');
    dates.each(function(){
        $.datepicker._clearDate(this);
    });
});​​

_.clearDate () es un método privado del objeto DatePicker. No lo encontrará en la API pública en el sitio web de jQuery UI, pero funciona como un encanto.


75
2018-02-24 17:17


origen


Respuestas:


Intentaba lograr esto mismo, es decir, vaciar el marcador de fecha para que los filtros ingresados ​​por el usuario pudieran eliminarse. Buscando en Google encontré este dulce fragmento de código:

Puede agregar la característica clara incluso en los campos de solo lectura. Simplemente agregue el siguiente código a su selector de fecha:

}).keyup(function(e) {
    if(e.keyCode == 8 || e.keyCode == 46) {
        $.datepicker._clearDate(this);
    }
});

La gente podrá resaltar (incluso los campos de Solo lectura) y luego usar la tecla de retroceso o eliminar la tecla para eliminar la fecha usando _clearDate función.

Fuente


74
2017-09-29 04:37



Has probado:

$('selector').datepicker('setDate', null);

Eso debería funcionar de acuerdo con el Documentación de API


49
2017-12-07 11:29



solo necesita configurar las opciones nuevamente para anular:

dates.datepicker( "option" , {
    minDate: null,
    maxDate: null} );

Cambié tu jsfiddle: http://jsfiddle.net/tF5MH/9/


21
2018-02-24 17:43



$('.date').datepicker('setDate', null);

11
2018-05-27 05:39



Intente cambiar el código de liberación a:

$('#clearDates').on('click', function(){
    dates.attr('value', '');
    $("input[id$='dpFrom'], input[id$='dpTo']").datepicker( "option", "maxDate", null );
    $("input[id$='dpFrom'], input[id$='dpTo']").datepicker( "option", "minDate", null );
});

10
2018-02-24 17:23



Prueba esto, Esto agregará el botón Borrar en Jquery Calender que borrará la fecha.

$("#DateField").datepicker({
    showButtonPanel: true,
    closeText: 'Clear',
         onClose: function (dateText, inst) {
        if ($(window.event.srcElement).hasClass('ui-datepicker-close'))
        {
            document.getElementById(this.id).value = '';
        }
    }
});

7
2017-09-17 07:13



Restablezca los atributos de fecha máxima en su selector de fecha cuando haga clic en borrar.

Desde el sitio web de jquery

Get or set the maxDate option, after init.

    //getter
    var maxDate = $( ".selector" ).datepicker( "option", "maxDate" );
    //setter
    $( ".selector" ).datepicker( "option", "maxDate", '+1m +1w' );

3
2018-02-24 17:24



La respuesta obvia fue la que funcionó para mí.

$('#datepicker').val('');

donde $ ('# datepicker') es la identificación del elemento de entrada.


2
2017-09-02 23:53



Sé que es un poco tarde, pero aquí hay una paz simple de código que lo hizo por mí:

$('#datepicker-input').val('').datepicker("refresh");

1
2018-05-26 15:40