日付ピッカーインスタンスを次のように宣言しました。
$("#datePickerId").datepicker(
{ dateFormat: 'DD, d MM yy',
minDate: 0,
showOn: 'button',
buttonImage: '../../images/calendar.gif',
buttonImageOnly: true,
hideIfNoPrevNext: true
}
);
私はこれをminDateオプションに変更したいので、これを行います:
$('#datePickerId').datepicker('option', 'minDate', 3);
しかし、何も起こりません。他に何かするつもりだったのですか?他に考えられる原因は何ですか?
ドラコ、
次のようにできます:
$("#datePickerId").datepicker(
{ dateFormat: 'DD, d MM yy',
minDate: new Date(2009, 10 - 1, 25), // it will set minDate from 25 October 2009
showOn: 'button',
buttonImage: '../../images/calendar.gif',
buttonImageOnly: true,
hideIfNoPrevNext: true
}
);
月の後に-1を書くことを忘れないでください(例:6月は-> 6 -1)
上記の回答は、initでデフォルトのminDateを設定する方法を示していますが、実際にはminDateを動的に変更する方法が問題でした。以下では、デフォルトのminDateを設定する方法も明確にします。
元の質問で間違っていたのは、設定するminDate値が文字列である必要があるということだけです(引用符を忘れないでください)。
$('#datePickerId').datepicker('option', 'minDate', '3');
minDateは日付オブジェクトも受け入れます。一般的な使用法は、計算しようとしている終了日を取得することです。これにより、次のようなことが便利になります。
$('#datePickerId').datepicker(
'option', 'minDate', new Date($(".datePop.start").val())
);
ベストプラクティスとしてこれに答えるだけです。 minDateオプションは次のいずれかを想定しています:
文字列を「0」に設定する@bogartは、上記のオプション2を満たすソリューションです。
$('#datePickerId').datepicker('minDate': '3');
文字列としてminDateを使用します。
$('#datePickerId').datepicker({minDate: '0'});
これにより、今日は選択可能な最小日付として設定されます。
MinDateを動的に変更します
.datepicker("destroy")
たとえば
<script>
$(function() {
$( "#datepicker" ).datepicker("destroy");
$( "#datepicker" ).datepicker();
});
</script>
<p>Date: <input type="text" id="datepicker" /></p>
現在のインスタンスを破棄する必要はなく、リフレッシュするだけです。
$('#datepicker')
.datepicker('option', 'minDate', new Date)
.datepicker('refresh');
2つの日付選択フィールドfield1とfield2があるとします。 field2の日付はfield1に依存します
$('#field2').datepicker();
$('#field1').datepicker({
onSelect: function(dateText, inst) {
$('#field2').val("");
$('#field2').datepicker("option", "minDate", new Date(dateText));
}
});
月は0から始まります。0= 1月、1 = 2月、2 = 3月、...、11 = 12月。