2009-08-27 7 views
0

Ich benutze Kevin Luck's jquery date picker plugin und ich frage mich, was ist der beste Weg, um den Wert von dpSetEndDate() zu formatieren, um immer ein Jahr in der Zukunft zu sein ? Ich versuchte mit php:Kevin Lucks jQuery Date Picker plugin - Setze das Enddatum dynamisch

<?php echo date('Y')+1;?>-<?php echo date('m-d');?> 

Aber das hat nicht funktioniert. An sich gibt das php zurück, was ich an Stelle des Datums setzen möchte, aber es rendert nicht innerhalb des Javascript.

$('.date-picker').dpSetEndDate('01/01/2010'); 

Referenz seine Website hier: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/index.html

Antwort

0
var today = (new Date), 
     nextYear = today.getFullYear()+1, 
     yearAhead = new Date(today.setYear(nextYear)) 

/* 
    yearAhead.getDate() // 27 
    yearAhead.getMonth()+1 // 7 
    yearAhead.getFullYear() // 2010 

*/ 

    dpSetEndDate(yearAhead.getMonth()+1 + '/' + yearAhead.getDate() + '/' + yearAhead.getFullYear()); 

Hoffentlich habe ich den Monat Teil richtig ..

+0

... und wenn Sie das am 29. Februar ausführen? –

+0

Wenn Sie dies am 29. (Schaltjahr) ausführen, wird es das nächste Jahr im Voraus abrechnen, so dass ein anfänglicher 29. Februar 2010 dazu führen wird, dass das YearAhead Datum Objekt der 1. März ist. –

1

ich das gleiche Plugin verwenden, und ich habe versucht, das gleiche zu erreichen Tor. Was ich tat, war wenig von PHP zu verwenden und

endDate:'<?=date('d/m/Y', strtotime("+2 Years"))?>' 

auf der Skript Erklärung hinzufügen und alles funktioniert

+0

Dies funktioniert nur, wenn Sie Ihren Server eingerichtet haben, .js-Dateien als PHP zu analysieren oder wenn das Skript ein Inline-Block ist. –

1

Sie haben bereits eine Antwort, und es ist eine alte Frage, aber nur als Referenz dies ist der empfohlene Weg :

$('.selector').datePicker(
    { 
     endDate: (new Date()).addYears(1).asString() 
    } 
); 

eine Reihe von nützlichen Methoden es gibt zu dem Date-Objekt in date.js und Sie können diese verwenden, um leicht Werte an die picker passieren, wenn Sie es initialisieren. Date.asString formatiert immer das Datum in einer Zeichenkette im aktuellen Date.format, welches das Format ist, das das Einstellungsobjekt erwartet ...

+0

Super-elegant - danke! –