2009-08-27 7 views
0

私はKevin Luckのjquery date pickerプラグインを使用していますが、今後1年間常にdpSetEndDate()の値をフォーマットする最良の方法は何ですか? ?私はPHPを使用してみました:Kevin LuckのjQuery Date Pickerプラグイン - 終了日を動的に設定する

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

しかし、それは動作しませんでした。 PHP自体は、日付の代わりに入れたいものを返しますが、javascript内ではレンダリングしません。

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

は、参考のために彼のサイトはこちらです: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/index.html

答えて

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()); 
うまくいけば

私が正しく月の部分をしました。..

+0

...これを29日に実行すれば、 –

+0

これを29日(うるう年)に実行すると、次の年が事前に考慮されるので、2010年2月29日の初めにyearAheadの日付オブジェクトが3月1日になります。 –

1

私は同じプラグインを使用していると私は同じことを達成しようとしていましたゴール。私がやったことは、PHPの少しを使用すると、スクリプト宣言で

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

を追加することでしたし、すべてが正常に動作します

+0

これは、サーバをphpとして.jsファイルを解析するように設定した場合、またはスクリプトがインラインブロックである場合にのみ機能します。 –

1

あなたはすでに答えを持っており、それは古い質問ですが、あくまでも参考のため、これは推奨される方法です:あり

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

有用な方法の数はdate.jsでDateオブジェクトに追加し、あなたがそれを初期化する際に簡単に日付ピッカーに値を渡すためにこれらを使用することができます。 Date.asStringは、設定オブジェクトが予期している形式である現在のDate.formatの文字列で日付を常にフォーマットします。

+0

超エレガント - ありがとう! –

関連する問題