stemon
stemon

Reputation: 651

Uncaught TypeError: Cannot read property 'setDate' of null

I am trying to set the check out date to be as the check in +1 automatically.

Here is the code:

jQuery("#" + in_date).datepicker({
    dateFormat : "yy-mm-dd",
    minDate: today,
    beforeShowDay:function (date){
        return enableAllTheseDays(date, in_date );
    },
    onClose: function() {
        //  var date2 = jQuery("#" + in_date).datepicker('getDate');
        var date2 =jQuery("#" + in_date).datepicker('getDate', '+1d');
        date2.setDate(date2.getDate()+1);
        if(date2){
             jQuery("#" + out_date).datepicker("setDate", date2);
        }
    }
});

Upvotes: 0

Views: 2984

Answers (1)

Amal
Amal

Reputation: 3426

Try this code

initialize out_date datepicker before setting date to it

jQuery("#" + out_date).datepicker().datepicker("setDate", date2);

$(document).ready(function(){
var today=new Date();
var in_date = 'in_date',out_date = 'out_date';

  jQuery("#" + in_date).datepicker({
  dateFormat : "yy-mm-dd",
  minDate: today,
  /*beforeShowDay:function (date){
    return enableAllTheseDays(date, in_date );
  },*/
   onClose: function() {
    //  var date2 = jQuery("#" + in_date).datepicker('getDate');
    var date2 =jQuery("#" + in_date).datepicker('getDate', '+1d');
    date2.setDate(date2.getDate()+1);
    if(date2){
       jQuery("#" + out_date).datepicker({dateFormat : "yy-mm-dd"}).datepicker("setDate", date2);
    }
  }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
<input id="in_date" type="text" />
<input id="out_date" type="text" />

Upvotes: 2

Related Questions