Pregunta

¿Cómo puedo cambiar la fecha seleccionada de jQuery Selector de fecha dinámicamente sobre la marcha? He dicho que creó un selector de fecha en línea. Luego, después de un tiempo, quiero reflejar una fecha diferente allí sin volver a crear el selector de fechas desde el principio.

Probé el método setDate, pero no funcionó, y no hay mucha documentación en doc .

Hay otro complemento (¿extendido?) aquí , pero quiero usar el complemento que se envía con jquery.ui.all.js.

¿Fue útil?

Solución

¿Qué versión de jQuery-UI estás usando? He probado lo siguiente con 1.6r6, 1.7 y 1.7.1 y funciona:

//Set DatePicker to October 3, 2008
$('#dateselector').datepicker("setDate", new Date(2008,9,03) );

Otros consejos

Compruebe que la fecha en la que está intentando establecerla se encuentre dentro del rango de fechas permitido si las opciones minDate o maxDate están establecidas.

Este ejemplo muestra cómo usar el valor predeterminado en el calendario desplegable y el valor en el cuadro de texto. También muestra cómo establecer el valor predeterminado en la fecha anterior.

selectedDate es otra variable que contiene la fecha seleccionada actual del control de calendario

    var date = new Date();
    date.setDate(date.getDate() - 1);

    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        defaultDate: date,
        onSelect: function () {
            selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate'));
        }
    });

    $("#datepicker").datepicker("setDate", date);

Notado que para DatePicker por Keith Wood ( http://keith-wood.name/datepickRef.html ) los siguientes trabajos: tenga en cuenta que la configuración de la fecha predeterminada es la última:

    $('#datepicker').datepick({
        minDate: 0,
        maxDate: '+145D',
        multiSelect: 7,
        renderer: $.datepick.themeRollerRenderer,
        ***defaultDate: new Date('1 January 2008')***
    });

Por alguna razón, en algunos casos no pude hacer que funcionara setDate.

Una solución que encontré es simplemente actualizar el atributo de valor de la entrada dada. Por supuesto, el selector de fecha en sí no se actualizará, pero si lo que busca es mostrar la fecha, funciona bien.

var date = new Date(2008,9,3);
$("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear());
// Will display 9/3/2008 in your #your-input input
$('.date-pick').datePicker().val(new Date()).trigger('change')

finalmente, ¡eso es lo que busco en las últimas horas! ¡Necesito iniciar cambios, no solo la fecha de configuración en el campo de texto!

setDate solo parece ser un problema con un selector de fecha en línea usado en la interfaz de usuario jquery, el error específico es InternalError: demasiada recursión.

Esto funciona para mí:

$("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3));

Este es un hilo antiguo, pero solo quiero dar algo de información sobre cómo lo he usado. Si desea establecer la fecha de hoy, simplemente puede aplicarla como se muestra a continuación.

 $("#datepickerid").datepicker("setDate", "0");

Si desea establecer algunos días antes / después de la fecha actual, use el símbolo - / + de cuántos días desea, como se muestra a continuación.

 $("#datepickerid").datepicker("setDate", "-7");
 $("#datepickerid").datepicker("setDate", "+5");

También tuve muchos problemas con el método setDate. Parece que solo funciona en v1. Sin embargo, lo que parece funcionar es el uso del método dpSetSelected:

    $("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString());

buena suerte!

En Html puede agregar su campo de entrada con un selector de fecha como este

<input class="form-control date-picker fromDates" id="myDate" type="text">

y luego en el script java, inicialice su selector de fecha y establezca su valor en la fecha como esta,

$('.fromDates').datepicker({
                maxDate: '0',
                dateFormat: "dd/mm/yy",
                changeYear: true,
                changeMonth: true,
                yearRange: "-100:+0"
            });

var myDateVal = moment('${value}').format('DD/MM/YYYY');
$('#myDate').datepicker().datepicker('setDate', myDateVal );

(Aquí, el atributo fromdate muestra las fechas anteriores de la fecha actual)

o simplemente puedes tener

$('.date-pick').datePicker().val(new Date()).trigger('change')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top