从第一个日期起7天动态更改maxdate jquery日期选择器
我见过类似的问题,但我没有足够的技巧来适应其他代码,以适应我的代码。有人能帮我展示一下这个精确代码的解决方案吗?我真的很感谢你的帮助 我有一个datepicker脚本,我想要的行为是: 日期1字段: 选择从今天起+1d到最多3个月之间的任意mindate。 根据已选择的mindate,允许用户在date2字段中从mindate中选择7天内的任何一天(基本上,他们可以租用一个项目长达7天) 日期2注 如果他们先选择date2,则允许date1选择最多7天,但不允许该日期与今天的日期相比小于+1d 我看了很多回复,但找不到这个确切的例子,提前道歉从第一个日期起7天动态更改maxdate jquery日期选择器,jquery,datepicker,Jquery,Datepicker,我见过类似的问题,但我没有足够的技巧来适应其他代码,以适应我的代码。有人能帮我展示一下这个精确代码的解决方案吗?我真的很感谢你的帮助 我有一个datepicker脚本,我想要的行为是: 日期1字段: 选择从今天起+1d到最多3个月之间的任意mindate。 根据已选择的mindate,允许用户在date2字段中从mindate中选择7天内的任何一天(基本上,他们可以租用一个项目长达7天) 日期2注 如果他们先选择date2,则允许date1选择最多7天,但不允许该日期与今天的日期相比小于+1d
$(function(){
var dates = $( "#date1, #date2" ).datepicker({
defaultDate: "+1d",
minDate: 1,
maxDate: "+3M",
dateFormat: 'dd M yy',
showOtherMonths: true,
changeMonth: true,
selectOtherMonths: true,
required: true,
showOn: "focus",
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "date1" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});
});
在var中,今天的日期以2013年8月14日的格式存储 id为
from
的输入被指定日期选择器,日期声明为从明天到未来3个月
在用户从
当使用idfrom
vardate_diff
在输入中更改日期时,计算当前日期与使用idfrom
在输入中选择的日期之间的差值,并且变量date_diff
被传递到使用idto
的输入中的minDate
选项maxDate\u d
根据您选择周内日期的要求,计算为vardate\u diff
+7
天,传入选项maxDate
,并启用
HTML
<input type="text" id="from" />
<input type="text" id="to" />
谢谢Tushar Gupta…你解决了一个困扰我这么久的问题。
$(document).ready(function () {
var d = new Date();
var monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
today = monthNames[d.getMonth()] + ' ' + d.getDate() + ' ' + d.getFullYear();
$('#to').attr('disabled', 'disabled');
$('#from').datepicker({
defaultDate: "+1d",
minDate: 1,
maxDate: "+3M",
dateFormat: 'dd M yy',
showOtherMonths: true,
changeMonth: true,
selectOtherMonths: true,
required: true,
showOn: "focus",
numberOfMonths: 1,
});
$('#from').change(function () {
var from = $('#from').datepicker('getDate');
var date_diff = Math.ceil((from.getTime() - Date.parse(today)) / 86400000);
var maxDate_d = date_diff+7+'d';
date_diff = date_diff + 'd';
$('#to').val('').removeAttr('disabled').removeClass('hasDatepicker').datepicker({
dateFormat: 'dd.mm.yy',
minDate: date_diff,
maxDate: maxDate_d
});
});
$('#to').keyup(function () {
$(this).val('');
alert('Please select date from Calendar');
});
$('#from').keyup(function () {
$('#from,#to').val('');
$('#to').attr('disabled', 'disabled');
alert('Please select date from Calendar');
});
});