如何验证 jQuery UI 日期选择器 "From Date" 到 "To Date"
How to validate jQuery UI Date Picker "From Date" to "To Date"
我有 2 个字段 "From date" 和 "To date"。我是 jQuery 的新手,正在学习。
- 当 select 从 jQuery UI 日期选择器上的日期开始时,所有以前的
日期(在当前日期之前)无法select(变灰)。
- 当 selecting to date 时,只有从当前日期开始的日期
- 1 天 select 可用(不能 select 与日期或过去的日期相同)
我目前正在使用这个代码:
$( function() {
var dateFormat = "dd-mm-yy",
from = $( "#from" )
.datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3
})
.on( "change", function() {
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( "#to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
});
function getDate( element ) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = null;
}
return date;
}
});
注意:日期格式应为“日-月-年”
要使当前日期之前的日期变灰,只需在日期选择器配置中将 minDate 设置为当前日期即可。
minDate: new Date()
您还应该将 dateFormat 选项明确设置为与您在 $.datepicker.parseDate 调用中使用的选项相同。
如果我理解正确你的问题,这个fiddle应该是正确的(稍微修改了你的代码)
我有 2 个字段 "From date" 和 "To date"。我是 jQuery 的新手,正在学习。
- 当 select 从 jQuery UI 日期选择器上的日期开始时,所有以前的 日期(在当前日期之前)无法select(变灰)。
- 当 selecting to date 时,只有从当前日期开始的日期
- 1 天 select 可用(不能 select 与日期或过去的日期相同)
我目前正在使用这个代码:
$( function() {
var dateFormat = "dd-mm-yy",
from = $( "#from" )
.datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3
})
.on( "change", function() {
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( "#to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
});
function getDate( element ) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = null;
}
return date;
}
});
注意:日期格式应为“日-月-年”
要使当前日期之前的日期变灰,只需在日期选择器配置中将 minDate 设置为当前日期即可。
minDate: new Date()
您还应该将 dateFormat 选项明确设置为与您在 $.datepicker.parseDate 调用中使用的选项相同。
如果我理解正确你的问题,这个fiddle应该是正确的(稍微修改了你的代码)