私はJquery日付ピッカーを使用していて、ユーザーが日付を選択すると、下のフィールドに日付+1が入力される次のコードがあります
$('#dt2').datepicker({
dateFormat: "dd-M-yy"
});
$("#dt1").datepicker(
{dateFormat: "dd-M-yy",
minDate: 0,
onSelect: function(date){
var date2 = $('#dt1').datepicker('getDate');
date2.setDate(date2.getDate()+1);
$('#dt2').datepicker('setDate', date2);
dt2
フィールドの日付を下回ってはいけないdt1
フィールドの日付を制限したいのですが。例えば。 dt1
で選択した日付が01-May-2013
の場合、ユーザーは01-May-2013
以降の日付を選択できます。02-May-2013
以上
日付フィールド2の日付ピッキングを制限するにはどうすればよいですか?
私はあなたのためにjsfiddleを作成しました。 「間違いない」かどうかは100%わかりませんが、ユーザーが日付を手動で入力できないようにするには、入力をreadonly
e.gに設定します。
<input type="text" id="dt1" readonly="readonly">
現時点では、dt2 onCloseをチェックし、その日付がdt1sの日付よりも短い場合は修正します。また、dt1で日付が選択されている場合、dt2の minDate はdt1 date +1に設定されます。
$(document).ready(function () {
$("#dt1").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
onSelect: function (date) {
var date2 = $('#dt1').datepicker('getDate');
date2.setDate(date2.getDate() + 1);
$('#dt2').datepicker('setDate', date2);
//sets minDate to dt1 date + 1
$('#dt2').datepicker('option', 'minDate', date2);
}
});
$('#dt2').datepicker({
dateFormat: "dd-M-yy",
onClose: function () {
var dt1 = $('#dt1').datepicker('getDate');
var dt2 = $('#dt2').datepicker('getDate');
//check to prevent a user from entering a date below date of dt1
if (dt2 <= dt1) {
var minDate = $('#dt2').datepicker('option', 'minDate');
$('#dt2').datepicker('setDate', minDate);
}
}
});
});
jsfiddle を参照してください
ここに私がそれをする方法があります-
そして、コードは次のとおりです
$('#dt2').datepicker({
dateFormat: "dd-M-yy"
});
$("#dt1").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
onSelect: function(date){
var date1 = $('#dt1').datepicker('getDate');
var date = new Date( Date.parse( date1 ) );
date.setDate( date.getDate() + 1 );
var newDate = date.toDateString();
newDate = new Date( Date.parse( newDate ) );
$('#dt2').datepicker("option","minDate",newDate);
}
});
私はあなたのコードを変更したので、date2の最小日付が自動的に設定され、date1がdate2より大きい場合、それはdate2 = date1を設定します
$("#dt1").datepicker({
dateFormat: "dd/mm/yy",
onSelect: function (date) {
var dt1 = $('#dt1').datepicker('getDate');
var dt2 = $('#dt2').datepicker('getDate');
if (dt1 > dt2) {
$('#dt2').datepicker('setDate', dt1);
}
$('#dt2').datepicker('option', 'minDate', dt1);
}
});
$('#dt2').datepicker({
dateFormat: "dd/mm/yy",
minDate: $('#dt1').datepicker('getDate'),
onClose: function () {
var dt1 = $('#dt1').datepicker('getDate');
var dt2 = $('#dt2').datepicker('getDate');
//check to prevent a user from entering a date below date of dt1
if (dt2 <= dt1) {
var minDate = $('#dt2').datepicker('option', 'minDate');
$('#dt2').datepicker('setDate', minDate);
}
}
});