I want to disable 2 days after today with jquery datepicker, for example today is 12/29/2016 I want the enable date from 1/1/2017. I look the someone code in jsfiddle but I don't know what should I edit /
Html
<input type="text" id="from" />
<input type="text" id="to" />
Js
$(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: "+3d",
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');
});
});
I want to disable 2 days after today with jquery datepicker, for example today is 12/29/2016 I want the enable date from 1/1/2017. I look the someone code in jsfiddle but I don't know what should I edit https://jsfiddle/AcbUf/574/
Html
<input type="text" id="from" />
<input type="text" id="to" />
Js
$(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: "+3d",
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');
});
});
Share
Improve this question
edited Dec 29, 2016 at 5:31
Jigar7521
1,57914 silver badges29 bronze badges
asked Dec 29, 2016 at 4:46
user7344301user7344301
271 silver badge5 bronze badges
3
- could you add the html code? – sebasaenz Commented Dec 29, 2016 at 4:51
- hi @charlietfl yes but I want enable start 1 january 2017 so less than 1 january 2017 will be disabled – user7344301 Commented Dec 29, 2016 at 4:55
- N after 1 january 2017 still enable please – user7344301 Commented Dec 29, 2016 at 4:57
3 Answers
Reset to default 4You can set your minDate
variable to '3'. so it will start from two days after from your current date:
Check this :
set minDate: 3
As per your question please try with this new code
Also here is fiddle link https://jsfiddle/avadh/21829x0b/
$(document).ready(function () {
var dt = new Date();
dt.setDate(dt.getDate() + 2);
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: "+3d",
minDate: dt,
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');
});
});
You need to provide from date plus two days like :
$(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: "+3d",
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+2+'d',
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');
});
});