使用此Boostrap Datepicker,我想将最长日期设置为从开始日期开始的1年,1年后应禁用日期,并且一旦选择了开始日期,结束日期应自动设置为3从选定日期开始的几个月,但应该从开始日期起1年后禁用,最短日期甚至可以是2天。
<div class="form-group">
<label class="control-label" for="startDate">Start Date<span>*</span>(MM/DD/YYYY)</label>
<input class="step__field form-control hasPlaceholder date-input" id="startDate" name="startDate" type="text" value="">
</div>
<div class="form-group">
<label class="control-label" for="endDate">End Date(MM/DD/YYYY)</label>
<input class="form-control hasPlaceholder date-input step__field" id="endDate" name="endDate" type="text" value="">
</div>
JS
var nowDate = new Date();
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0);
$('#startDate').datepicker({
startDate: today
});
如果您可以向我推荐任何其他插件,请按照要求创建一个JS小提琴
答案 0 :(得分:1)
var nowDate = new Date();
var today = new Date(nowDate.getFullYear()-1, nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0);
$('#startDate').datepicker('startDate', today);
$('#startDate').datepicker().on('changeDate', function(ev) {
var today1 = new Date(ev.date.getFullYear(), ev.date.getMonth()+3, ev.date.getDate(), 0, 0, 0, 0);
$('#endDate').datepicker('setStartDate',today1);
});
修改强>
$('#startDate').datepicker().on('changeDate', function(ev) {
var set_Date = new Date(ev.date.getFullYear(), ev.date.getMonth()+3, ev.date.getDate(), 0, 0, 0, 0);
var start_date = new Date(ev.date.getFullYear(), ev.date.getMonth(), ev.date.getDate()+2, 0, 0, 0, 0);
var end_date = new Date(ev.date.getFullYear()+1, ev.date.getMonth(), ev.date.getDate(), 0, 0, 0, 0);
$('#endDate').datepicker('setStartDate',start_date);
$('#endDate').datepicker('setDate',set_Date);
$('#endDate').datepicker('setEndDate',end_date);
});
答案 1 :(得分:0)
我终于用@Parth Patel的代码完成了我想要的东西,非常感谢,对于那些正在寻找相同要求的人来说,这就是代码
var nowDate = new Date();
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(),
0, 0, 0, 0);
$('#startDate').datepicker({
startDate: today
});
$('#startDate').datepicker().on('changeDate', function(ev) {
var selectedStartDate = $('#startDate').datepicker('getDate');
var year1 = new Date(selectedStartDate.getFullYear() + 1,
selectedStartDate.getMonth(), selectedStartDate.getDate(),
0, 0, 0, 0);
var today1 = new Date(ev.date.getFullYear(), ev.date.getMonth() +
3, ev.date.getDate(), 0, 0, 0, 0);
$('#endDate').datepicker('setStartDate', today);
$('#endDate').datepicker('update', today1);
$('#endDate').datepicker('setEndDate', year1);
});