jQuery datepicker establece la fecha seleccionada, sobre la marcha

¿Cómo puedo cambiar la fecha seleccionada de jquery Date picker dinámicamente sobre la marcha? Creo que creé un datepicker en línea. Luego, después de un tiempo, quiero reflejar una fecha diferente allí sin volver a crear el datepicker desde el principio.

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

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

¿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) ); 

Compruebe que la fecha en la que intenta establecerlo se encuentra dentro del rango de fechas permitido si se configuran las opciones minDate o maxDate.

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 a 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); 

Tomó nota de 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 funcionar el setDate.

Una solución alternativa que encontré es simplemente actualizar el atributo de valor de la entrada dada. Por supuesto, el datepicker 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 

setDate solo parece ser un problema con un datepicker en línea utilizado en la interfaz de usuario de jquery, el error específico es InternalError: demasiada recursividad.

Esto funciona para mí:

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

$ (‘. date-pick’). datePicker (). val (new Date ()). trigger (‘cambio’)

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

También tuve muchos problemas con el método setDate. parece que solo funciona en v1. Lo que parece funcionar, sin embargo, es usar el método dpSetSelected:

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

¡buena suerte!

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

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

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

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

o simplemente puede tener

 $('.date-pick').datePicker().val(new Date()).trigger('change')