JQuery 日期选择器 - 设置默认日期并优先考虑用户在日历上的输入
JQuery Datepicker - setting default date and giving preference to user input on the calendar
我使用以下代码设置 fromDate 和 toDate,默认情况下,toDate 是今天的日期,fromDate 是 7 天前的日期。
$(function() {
$( "#menu" ).menu();
populateDefaultValues();
showDatePicker();
});
function populateDefaultValues(){
v var endDateString = $('#toDate').val();
var splitDate = endDateString.split("/");
var endDate = new Date(splitDate[2], splitDate[0], splitDate[1]);
var startDate = new Date();
startDate.setDate(endDate.getDate() - 7);
$("#fromDate").val($.datepicker.formatDate("mm/dd/yy", startDate));
}
function showDatePicker(){
$( "#fromDate" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#toDate" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#toDate" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#fromDate" ).datepicker( "option", "maxDate", selectedDate );
}
});
}
日期范围按预期显示。但是,如果我 select 使用日历的 fromDate 中的其他日期范围,在页面加载期间,它再次返回到 -7 天。我该如何阻止这种情况发生?我想优先考虑用户在 fromDate 和 toDate 中的输入,但默认情况下,假设第一次加载页面时,只有一周的日期范围 selected。
出于某种原因,如果我不使用上面的代码,它会 select 设置一个我想避免的 2 周的日期范围。
任何指针。
你可以使用
最小日期:“-7D”,
最大日期:新日期()
我使用以下代码设置 fromDate 和 toDate,默认情况下,toDate 是今天的日期,fromDate 是 7 天前的日期。
$(function() {
$( "#menu" ).menu();
populateDefaultValues();
showDatePicker();
});
function populateDefaultValues(){
v var endDateString = $('#toDate').val();
var splitDate = endDateString.split("/");
var endDate = new Date(splitDate[2], splitDate[0], splitDate[1]);
var startDate = new Date();
startDate.setDate(endDate.getDate() - 7);
$("#fromDate").val($.datepicker.formatDate("mm/dd/yy", startDate));
}
function showDatePicker(){
$( "#fromDate" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#toDate" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#toDate" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#fromDate" ).datepicker( "option", "maxDate", selectedDate );
}
});
}
日期范围按预期显示。但是,如果我 select 使用日历的 fromDate 中的其他日期范围,在页面加载期间,它再次返回到 -7 天。我该如何阻止这种情况发生?我想优先考虑用户在 fromDate 和 toDate 中的输入,但默认情况下,假设第一次加载页面时,只有一周的日期范围 selected。
出于某种原因,如果我不使用上面的代码,它会 select 设置一个我想避免的 2 周的日期范围。
任何指针。
你可以使用 最小日期:“-7D”, 最大日期:新日期()