文字列を使用してjqueryuiのデートピッカーのMindate/maxdateを設定するにはどうすればよいですか?
-
03-10-2019 - |
質問
jqueryui datepicker ドキュメンテーション Mindateオプションは、「現在の日付フォームの文字列」を使用して設定できると述べています。そこで、私は次のことを試してデートピッカーを初期化しました。
$("input.date").datepicker({ minDate: "01/01/2010", maxDate: "12/31/2010" });
ただし、これにより、2015年6月6日から2015年12月17日までの選択可能な日付範囲が表示されます。
現在の日付形式とそのことをチェックしました mm/dd/yy
, 、これは月に2桁、その日に2桁、1年に4桁、スラッシュで区切られることになっています。私も含めようとしました dateFormat: "mm/dd/yy"
インゼリアル化ステートメントで。
また、MindateとMaxdateの値をその後チェックしましたが、それらは私が望む価値に設定されています。 01/01/2010
と 12/31/2010
.
私はこれらの値を他のどこかから文字列として渡されているので、私は文字列でmin/maxdateを設定できるようにしたいと思っています。なぜこれが起こるのか、これを解決する方法、またはこれを達成するための回避策、日付文字列などの形式を変更することを知っているのでしょうか?
ありがとう
編集:使用: jQuery v1.3.2 と jQuery UI v1.7.2
解決
最終的には、v1.7 datepickerには日付との問題がないため、このようなものを使用する必要がありました。
$.getJSON("/GetMinMaxDates/", function(dates) {
var DateLimits = {min:null, max:null};
DateLimits.min = new Date(Date.parse(dates.min));
DateLimits.max = new Date(Date.parse(dates.max));
$("input.date").datepicker({ dateFormat: "mm/dd/yy", minDate: DateLimits.min, maxDate: DateLimits.max });
});
他のヒント
1.3.2の「バグ」であるように見えます1.7.2。 1.4.2では1.8.1ではすべて問題ありません。
とにかくIE7/8に最適であることがあなたの最後の方法が見つかりました。 IEは、文字列で育てられた日付関数でNANを返します。数字を解析するとすぐに、問題は消えました。