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

javascript - jQuery Datepicker, Check-Out Date is One Day After Check-In Date - Stack Overflow

programmeradmin2浏览0评论

I'm setting up a website that has a "Check-In" date and "Check-Out" date date selector. I need the "Check-Out" date to automatically set to the day after the check-in date.

I found a piece of code here, but for some reason it does not seem to be working.

I set up a CodePen here.

Here is the code I am using:

$(function () {
$("#datepicker").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function (selectedDate) {
if (this.id == 'datepicker') {
var dateMin = $('#datepicker').datepicker("getDate");
var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 1);
var rMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 15);
$('#datepicker2').val($.datepicker.formatDate('mm/dd/yy', new Date(rMax)));
}
}
});
});

I'm setting up a website that has a "Check-In" date and "Check-Out" date date selector. I need the "Check-Out" date to automatically set to the day after the check-in date.

I found a piece of code here, but for some reason it does not seem to be working.

I set up a CodePen here.

Here is the code I am using:

$(function () {
$("#datepicker").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function (selectedDate) {
if (this.id == 'datepicker') {
var dateMin = $('#datepicker').datepicker("getDate");
var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 1);
var rMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 15);
$('#datepicker2').val($.datepicker.formatDate('mm/dd/yy', new Date(rMax)));
}
}
});
});
Share Improve this question asked Sep 11, 2013 at 22:00 JeremyEJeremyE 1,4184 gold badges22 silver badges43 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 1

In your code pen, erase this:

jQuery(function() {
jQuery( "#datepicker" ).datepicker();
jQuery( "#datepicker2" ).datepicker();
});

Then try again.
But if you want the day after, perhaps you meant rMin rather than rMax at the end.

DEMO HERE

THIS is working demo here checkout date is one day after selected date automatically..

 $("#CheckInDatePicker").datepicker({     
            defaultDate: "+0",               
            changeMonth: true,
            dateFormat: "mm-dd-yy",
            minDate: "+0",
            onSelect: function (dateText, inst) {
                var d = $.datepicker.parseDate(inst.settings.dateFormat, dateText);
             d.setDate(d.getDate() + 1);
                $("#CheckOutDatePicker").val($.datepicker.formatDate(inst.settings.dateFormat, d));

           },

            onClose: function (selectedDate) {
                $("#CheckOutDatePicker").datepicker("option", "minDate", selectedDate);

            }

        });

Its simple using default datepicker plugins of JQuery. Code in jsfiddle contains 2 text box one for checkin and another for checkout.

$( "#checkin" ).datepicker({minDate : 0, dateFormat: 'dd-mm-yy'});

Hit Me !! For code...

All I did was put the "datepicker2" function again underneath the solution you provided. Then when I clicked in the "Check-Out" box, it worked and brought up the calendar again with the day after the checkout date default selected in the bright blue. Thanks for this. I was struggling with it too.

[<script>
  $(function () {
$("#datepicker").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function (selectedDate) {
if (this.id == 'datepicker') {
var dateMin = $('#datepicker').datepicker("getDate");
var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 1);
var rMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + 1);
$('#datepicker2').val($.datepicker.formatDate('mm/dd/yy', new Date(rMax)));
}
}
});
});
</script>][1]


<script>
  $( function() {
    $( "#datepicker2" ).datepicker({
            dateFormat: "mm/dd/yy"}

    );

  } );
  </script>

THE HTML:

<div class="column1">
    <span>CHECK-IN</span>
    <br />
    <input name="DateIn" type="text" id="datepicker"/>
  </div>


   <div class="column2">
   <span>CHECK-OUT</span>
 <br />
    <input name="DateOut" type="text" id="datepicker2"/>
  </div>

enter image description here

发布评论

评论列表(0)

  1. 暂无评论