2010-03-25 28 views
6

¿Hay alguna manera de cambiar la fecha de "hoy" en jquery.ui datepicker? Con hoy quiero decir hoy (class = "ui-datepicker-today") y no el minDate o la fecha seleccionada actualmente.jQuery datepicker - cambiar la fecha de "hoy"?

Me di cuenta de que datepicker utiliza la hora del sistema para los valores predeterminados. Ahora obtengo la fecha actual de mi servidor y la configuro en mi minDate. Pero no encontré una manera de establecer la fecha de hoy ... Todavía usa la fecha de mi sistema (hay algunos usuarios cuya fecha de sistema está en el año 2000 o anterior).

¿Puede ayudarme por favor?

+1

¿Recibió la respuesta ?? en caso afirmativo, publique el código. –

Respuesta

1

Según el source, no se ve bien.

var today = new Date(); 

Esa siempre será la fecha del sistema del usuario.

Si tiene que solucionarlo, mire hacia abajo una línea; puede anular $.datepicker._daylightSavingAdjust y devolver la fecha de su servidor *

Pero esta es una mala idea. ¿Por qué sus usuarios tienen la fecha del sistema tan desordenada? ¿Por qué es ese tu problema? Si se quejan, dígales que arreglen sus relojes.

* No puedo enfatizar cuán mala idea es esta. Esa función se utiliza para normalizar la mayoría de las fechas en el selector de fecha, por lo que tendrás que escribir una lógica bastante intrincada para no estropear todo. Eso tal vez ni siquiera sea factible.

+1

¿Por qué sus usuarios tienen la fecha del sistema tan desordenada? -> bueno, no sé! Recibí una solicitud de un usuario de que no puede usar mi sitio, porque la fecha del datepicker está restringida a 2000 y 2001 (un año para el futuro es un período, los usuarios pueden elegir la fecha). – Newbie

-2

¿Está buscando establecer la fecha predeterminada cuando se abre el jQuery UI Datepicker?

Si es así, datepicker tiene option para permitirle configurar esto.

+0

no, la fecha predeterminada es la fecha seleccionada al inicio, pero estoy buscando la fecha de hoy. – Newbie

+0

esta respuesta en este estilo particular debería ser un comentario. Estoy tentado de una bandera ... ¡sry! –

0

Un pequeño pellizco a la respuesta seleccionada en jQuery UI DatePicker change highlighted "today" date

// Get users 'today' date 
var localToday = new Date(); 
localToday.setDate(tomorrow.getDate()+1); // tomorrow 

// Pass the today date to datepicker 
$("#datepicker").datepicker({ 
    showButtonPanel: true, 
    localToday: localToday // This option determines the highlighted today date 
}); 

hemos anulado 2 métodos datepicker utilizar condicionalmente un nuevo escenario para el "hoy" fecha en lugar de un new Date(). La nueva configuración se llama localToday.

Anulación $.datepicker._gotoToday y $.datepicker._generateHTML así:

$.datepicker._gotoToday = function(id) { 
    /* ... */ 
    var date = inst.settings.localToday || new Date() 
    /* ... */ 
} 

$.datepicker._generateHTML = function(inst) { 
    /* ... */ 
    tempDate = inst.settings.localToday || new Date() 
    /* ... */ 
} 

Aquí hay una demo que muestra el código completo y uso: http://jsfiddle.net/NAzz7/5/

Cuestiones relacionadas