最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - disable 2 days after today datepicker - Stack Overflow

programmeradmin0浏览0评论

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
Add a ment  | 

3 Answers 3

Reset to default 4

You 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');
    });

});
发布评论

评论列表(0)

  1. 暂无评论