2010-03-25 15 views
6

Gibt es eine Möglichkeit, das "Heute" -Datum in jquery.ui Datepicker zu ändern? Mit heute meine ich heute (class = "ui-datepicker-today") und nicht das minDate oder das aktuell ausgewählte Datum!jQuery datepicker - "Heute" -Datum ändern?

Ich fand heraus, dass Datepicker die Systemzeit für Standardwerte verwendet. Jetzt erhalte ich das aktuelle Datum von meinem Server und setze es auf mein minDate. Aber ich habe keinen Weg gefunden, das heutige Datum zu setzen ... Es verwendet immer noch mein Systemdatum (es gibt einige Benutzer da draußen, deren Systemdatum im Jahr 2000 oder früher ist).

Kann mir helfen, plz?

+1

Haben Sie die Antwort bekommen ?? Wenn ja, bitte posten Sie den Code. –

Antwort

1

Basierend auf der source, sieht es nicht gut aus.

var today = new Date(); 

Das wird immer das Systemdatum des Benutzers sein.

Wenn Sie unbedingt dies beheben müssen, schauen Sie eine Zeile nach unten; Sie könnten $.datepicker._daylightSavingAdjust überschreiben und das Datum von Ihrem Server zurückgeben *

Aber das ist eine schlechte Idee. Warum in aller Welt haben Ihre Benutzer ihr Systemdatum so durcheinander? Warum ist das dein Problem? Wenn sie sich beschweren, sagen Sie ihnen, ihre Uhren zu reparieren.

* Ich kann nicht betonen, wie schlimm eine Idee ist. Diese Funktion wird verwendet, um die meisten Daten im Datepicker zu normalisieren. Sie müssen also eine ziemlich komplizierte Logik schreiben, um nicht alles durcheinander zu bringen. Das ist vielleicht gar nicht machbar.

+1

Warum haben Ihre Benutzer ihr Systemdatum so durcheinander? -> Nun, ich weiß es nicht! Ich habe eine Anfrage von einem Benutzer erhalten, dass er/sie meine Seite nicht benutzen kann, da das Datum vom Datum auf 2000 und 2001 begrenzt ist (ein Jahr in die Zukunft ist Periode, Benutzer können das Datum wählen). – Newbie

-2

Suchen Sie das Standarddatum, wenn die jQuery UI Datepicker geöffnet ist?

Wenn ja, hat der Datepicker eine option, damit Sie dies einstellen können.

+0

Nein, das Standarddatum ist das ausgewählte Datum beim Start, aber ich suche nach dem heutigen Datum. – Newbie

+0

Diese Antwort in diesem speziellen Stil sollte eher ein Kommentar sein. Ich bin versucht für eine Flagge ... sry! –

0

Eine kleine zwicken auf die gewählte Antwort in 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 
}); 

I 2 picker Methoden außer Kraft gesetzt habe für die „heute“ Datum statt einer new Date() eine neue Einstellung bedingt zu verwenden. Die neue Einstellung heißt localToday.

Aufschalten $.datepicker._gotoToday und $.datepicker._generateHTML wie folgt aus:

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

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

Hier ist ein demo, die der vollständige Code und Nutzung zeigt: http://jsfiddle.net/NAzz7/5/

Verwandte Themen